НачатьНачать бесплатно

Разработка и тестирование лучшей модели

В главе 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)
Редактировать и запускать код