Обрізання дерева
Переобучення — класична проблема в аналітиці, особливо для алгоритму дерева рішень. Коли дерево повністю вирощене, воно може давати дуже точні прогнози на тренувальній вибірці, але значно гірші — на тестовій. Тому зростання дерева рішень зазвичай контролюють так:
- «Обрізають» дерево й встановлюють обмеження на його максимальну глибину.
- Обмежують мінімальну кількість спостережень у одному листку дерева.
У цій вправі ви будете:
- обрізати дерево й обмежувати його зростання до 5 рівнів глибини
- навчати модель на даних про співробітників
- перевіряти результати прогнозування як на тренувальній, так і на тестовій вибірках.
Змінні features_train, target_train, features_test і target_test уже доступні у вашому робочому середовищі.
Ця вправа є частиною курсу
HR Analytics: прогнозування плинності персоналу в Python
Інструкції до вправи
- Ініціалізуйте
DecisionTreeClassifier, обмеживши глибину дерева до 5. - Навчіть модель дерева рішень, використовуючи
featuresіtargetу тренувальній вибірці. - Перевірте точність прогнозів як на тренувальній, так і на тестовій вибірках.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Initialize the DecisionTreeClassifier while limiting the depth of the tree to 5
model_depth_5 = DecisionTreeClassifier(____=5, random_state=42)
# Fit the model
____.fit(features_train,target_train)
# Print the accuracy of the prediction for the training set
print(____.____(features_train,target_train)*100)
# Print the accuracy of the prediction for the test set
print(model_depth_5.score(____,____)*100)