ПочатиПочніть безкоштовно

Балансування класів

Це може суттєво впливати на результати прогнозування, що видно з різниці між метриками recall і accuracy. Щоб розв'язати проблему дисбалансу, зазвичай кожному класу надають однакові ваги. Використовуючи аргумент class_weight у DecisionTreeClassifier з sklearn, можна зробити ваги класів "balanced".

Виправмо нашу модель, розв'язавши проблему дисбалансу:

  • спочатку налаштуйте модель зі збалансованими класами
  • потім навчіть її на тренувальних даних
  • нарешті, перевірте її точність на тестовій вибірці

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

Ця вправа є частиною курсу

HR Analytics: прогнозування плинності персоналу в 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)
Редагувати та запускати код