Дерево в регрессии обучается аналогично, только предсказывает оно не класс, а число. На практическом примере это будет выглядеть следующим образом. Необходимо import pandas as pd from sklearn.tree import DecisionTreeRegressor from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error df = pd.read_csv('/datasets/train_data.csv') features = df.drop(['last_price'], axis=1) target = df['last_price'] / 1000000 features_train, features_valid, target_train, target_valid = train_test_split( features, target, test_size=0.25, random_state=12345) best_model = None best_result = 10000 best_depth = 0 for depth in range(1, 6): model = DecisionTreeRegressor(random_state=12345, max_depth=depth) model.fit(features_train, target_train) predictions_valid = model.predict(features_valid) result = mean_squared_error(target_valid, predictions_valid)**0.5 if result < best_result: best_model = model best_result = result