Налаштування моделі
Простий спосіб підлаштувати модель Random Forest до сильно незбалансованих даних про шахрайство — використати параметр class_weights під час визначення моделі sklearn. Однак, як ви побачите, це доволі грубий механізм і може не спрацювати у вашому специфічному випадку.
У цій вправі ви дослідите режим weight = "balanced_subsample" у моделі Random Forest з попередньої вправи. Ви вже розбили дані на тренувальну й тестову вибірки, тобто доступні X_train, X_test, y_train, y_test. Функції для обчислення метрик уже імпортовано.
Ця вправа є частиною курсу
Виявлення шахрайства в Python
Інструкції до вправи
- Встановіть аргумент
class_weightвашого класифікатора наbalanced_subsample. - Натренуйте модель на тренувальній вибірці.
- Отримайте передбачення та ймовірності з
X_test. - Обчисліть
roc_auc_score, звіт класифікації та матрицю помилок.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Define the model with balanced subsample
model = RandomForestClassifier(class_weight='____', random_state=5)
# Fit your training model to your training set
model.fit(____, ____)
# Obtain the predicted values and probabilities from the model
predicted = ____.____(____)
probs = ____.____(____)
# Print the roc_auc_score, the classification report and confusion matrix
print(____(____, ____))
print(____(____, ____))
print(____(____, ____))