Анализ реальных издержек
В этом упражнении вы продолжите работать с набором данных о кредитах. Напомним: «положительный» результат в этом наборе данных означает «плохую кредитную историю», то есть клиента, который не выплатил кредит, а «отрицательный» — клиента, который исправно вносил платежи. Руководитель банка сообщил вам, что банк получает в среднем 10 тыс. прибыли от каждого «надёжного» клиента и теряет 150 тыс. из-за каждого «ненадёжного». Алгоритм будет использоваться для проверки заявок: клиенты, которым присвоена метка «отрицательный», получат кредит, а «положительные» — получат отказ. Каковы суммарные издержки вашего классификатора? Данные доступны в виде X_train, X_test, y_train и y_test. Также доступны функции confusion_matrix(), f1_score(), precision_score() и RandomForestClassifier().
Это упражнение является частью курса
Проектирование рабочих процессов машинного обучения на Python
Инструкции к упражнению
- Обучите классификатор на основе случайного леса на обучающих данных.
- Используйте его для разметки тестовых данных.
- Извлеките ложноотрицательные и ложноположительные результаты из
confusion_matrix(). Для этого потребуется выровнять матрицу. - Ошибочная классификация «хорошего» клиента как «плохого» означает, что банк упустил возможность получить 10 тыс. прибыли. Ошибочная классификация «плохого» клиента как «хорошего» означает, что банк потерял 150 тыс. из-за невыплаченного кредита.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Fit a random forest classifier to the training data
clf = ____(random_state=2).fit(____, ____)
# Label the test data
preds = clf.____(____)
# Get false positives/negatives from the confusion matrix
tn, ____, ____, tp = confusion_matrix(y_test, preds).____()
# Now compute the cost using the manager's advice
cost = fp*____ + fn*____