Разработка и тестирование лучшей модели
В главе 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-аналитика: прогнозирование текучести кадров на Python
Инструкции к упражнению
- Инициализируйте лучшую модель, используя параметры, указанные в описании задания.
- Обучите модель, используя только отобранные признаки из обучающей выборки.
- Сделайте предсказание на основе отобранных признаков из тестовой выборки.
- Выведите значения точности, полноты и метрики 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)