Настройка модели
Простой способ адаптировать модель случайного леса к работе с сильно несбалансированными данными о мошенничестве — использовать параметр class_weights при определении модели sklearn. Однако, как вы увидите, это довольно грубый инструмент, который может не подойти для вашего конкретного случая.
В этом упражнении вы изучите режим weight = "balanced_subsample" в модели случайного леса из предыдущего упражнения. Данные уже разбиты на обучающую и тестовую выборки: 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(____(____, ____))