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

Балансировка классов

Дисбаланс классов может существенно влиять на результаты предсказания — это хорошо видно по разнице между показателями recall и accuracy. Чтобы устранить дисбаланс, классам обычно назначают равные веса. Аргумент class_weight в DecisionTreeClassifier из библиотеки sklearn позволяет сделать классы "balanced".

Давайте исправим нашу модель, решив проблему дисбаланса:

  • сначала вы настроите модель со сбалансированными классами;
  • затем обучите её на тренировочных данных;
  • наконец, проверите её точность на тестовой выборке.

Переменные features_train, target_train, features_test и target_test уже доступны в вашем рабочем пространстве.

Это упражнение является частью курса

HR-аналитика: прогнозирование текучести кадров на Python

Посмотреть курс

Инструкции к упражнению

  • Инициализируйте классификатор дерева решений, ограничьте глубину дерева до 5 уровней и задайте балансировку весов классов.
  • Обучите новую модель.
  • Выведите показатель точности score предсказания (в процентах) для тестовой выборки.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Initialize the DecisionTreeClassifier 
model_depth_5_b = DecisionTreeClassifier(____=5,class_weight="____",random_state=42)

# Fit the model
model_depth_5_b.____(features_train,target_train)

# Print the accuracy of the prediction (in percentage points) for the test set
print(model_depth_5_b.____(features_test,____)*100)
Редактировать и запускать код