Попробуйте разную максимальную глубину
Мы всегда стремимся оптимизировать модели машинного обучения, чтобы получить наилучшие предсказания. Для этого настраивают гиперпараметры — специальные параметры, управляющие поведением модели. В следующих главах мы рассмотрим их подробнее, а пока воспринимайте их как «регуляторы», с помощью которых можно добиться максимальной точности предсказаний.
Для обычных деревьев решений наиболее важным гиперпараметром, как правило, является max_depth. Он ограничивает количество разбиений в дереве решений. Найдём оптимальное значение max_depth по метрике R\(^2\) на тестовой выборке — её можно получить с помощью метода score() наших моделей.
Это упражнение является частью курса
Машинное обучение для финансов на Python
Инструкции к упражнению
- Переберите в цикле значения 3, 5 и 10, которые будут использоваться в качестве параметра
max_depthв модели дерева решений. - На каждой итерации цикла задайте параметр
max_depthвDecisionTreeRegressorравнымd. - Выведите на экран оценку модели на
train_featuresиtrain_targets.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Loop through a few different max depths and check the performance
for d in [____]:
# Create the tree and fit it
decision_tree = DecisionTreeRegressor(____)
decision_tree.fit(train_features, train_targets)
# Print out the scores on train and test
print('max_depth=', str(d))
print(decision_tree.score(____))
print(decision_tree.score(test_features, test_targets), '\n')