Розробіть і протестуйте найкращу модель
У розділі 3 ви з'ясували, що такі параметри дають кращу модель:
max_depth = 8,min_samples_leaf = 150,class_weight = "balanced"
У цьому розділі ви виявили, що деякі ознаки мають незначний вплив. Ви зрозуміли, що можна отримати точні передбачення, використовуючи лише невелику кількість відібраних, впливових ознак, і відповідно оновили тренувальну та тестову вибірки, створивши змінні features_train_selected і features_test_selected.
Маючи всю цю інформацію, ви тепер розробите найкращу модель для прогнозування плинності кадрів і оціните її за відповідними метриками.
Змінні features_train_selected і features_test_selected доступні у вашому робочому середовищі, а функції recall_score і roc_auc_score уже імпортовано для вас.
Ця вправа є частиною курсу
HR Analytics: прогнозування плинності персоналу в Python
Інструкції до вправи
- Ініціалізуйте найкращу модель з параметрами, наведеними в описі.
- Навчіть модель, використовуючи лише відібрані ознаки з тренувальної вибірки.
- Зробіть передбачення на основі відібраних ознак із тестової вибірки.
- Виведіть значення метрик точності (accuracy), повноти (recall) та ROC/AUC моделі.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Initialize the best model using parameters provided in description
model_best = DecisionTreeClassifier(____=____, ____=____, ____=____, random_state=42)
# Fit the model using only selected features from training set: done
model_best.fit(____, target_train)
# Make prediction based on selected list of features from test set
prediction_best = model_best.____(____)
# Print the general accuracy of the model_best
print(____.score(features_test_selected, target_test) * 100)
# Print the recall score of the model predictions
print(____(target_test, prediction_best) * 100)
# Print the ROC/AUC score of the model predictions
print(roc_auc_score(target_test, ____) * 100)