Обрезка дерева
Переобучение — классическая проблема в аналитике, особенно характерная для алгоритма дерева решений. Полностью выращенное дерево может давать высокоточные прогнозы на обучающей выборке, но при этом плохо справляться с тестовой. Именно поэтому рост дерева решений обычно ограничивают с помощью:
- «Обрезки» дерева и установки предела максимальной глубины.
- Ограничения минимального числа наблюдений в одном листе дерева.
В этом упражнении вы:
- обрежете дерево, ограничив его рост до 5 уровней глубины;
- обучите его на данных сотрудников;
- проверите результаты прогнозирования на обучающей и тестовой выборках.
Переменные features_train, target_train, features_test и target_test уже доступны в вашем рабочем пространстве.
Это упражнение является частью курса
HR-аналитика: прогнозирование текучести кадров на Python
Инструкции к упражнению
- Инициализируйте
DecisionTreeClassifier, ограничив глубину дерева значением 5. - Обучите модель дерева решений, используя признаки и целевую переменную из обучающей выборки.
- Проверьте точность прогнозов на обучающей и тестовой выборках.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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)