Обучите две модели дерева решений: с максимальной глубиной 2 и числом объектов в одном листе 3. Вычислите метрику accuracy на тренировочной и тестовой выборках.

# импортируем библиотеки и объявляем константы
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier

RANDOM_STATE = 42
TEST_SIZE = 0.2

# считываем данные из CSV-файла
df = pd.read_csv('progulka_extended.csv')

# делим данные на входные и целевые
X = df.drop('гулять?', axis=1)
y = df['гулять?']

# делим данные на тренировочные и тестовые
# используем константы с размером тестовой выборки и random_state
X_train, X_test, y_train, y_test = train_test_split(
    X,
    y,
    test_size=TEST_SIZE,
    random_state=RANDOM_STATE
)

# инициализируйте модель дерева решений с максимальной глубиной 2
model1 = DecisionTreeClassifier(max_depth=2, random_state=RANDOM_STATE)
model1.fit(X_train, y_train)
# посчитайте метрику accuracy для первой модели
# на тренировочной и тестовой выборках
accuracy_train_model1 = model1.score(X_train, y_train)
accuracy_test_model1 = model1.score(X_test, y_test)
print('Максимальная глубина 2')
print('Train:', accuracy_train_model1)
print('Test:', accuracy_test_model1)

# инициализируйте модель дерева решений с минимальным числом объектов в листе 3
model2 = DecisionTreeClassifier(max_depth=2, min_samples_leaf=3, random_state=RANDOM_STATE)
model2.fit(X_train, y_train)
# посчитайте метрику accuracy для второй модели
# на тренировочной и тестовой выборках
accuracy_train_model2 = model2.score(X_train, y_train)
accuracy_test_model2 = model2.score(X_test, y_test)
print('Минимальное количество объектов в одном листе 3')
print('Train:', accuracy_train_model2)
print('Test:', accuracy_test_model2)

Результат
Максимальная глубина 2
Train: 0.9
Test: 1.0

Минимальное количество объектов в одном листе 3
Train: 0.9
Test: 1.0