Аналіз витрат у реальному світі
У цій вправі ви й далі працюватимете з набором даних про кредит. Нагадаємо, що «позитив» у цьому наборі означає «поганий кредит», тобто клієнт, який допустив дефолт за позикою, а «негатив» — клієнт, який справно продовжував виплати. Керівник банку повідомив, що банк у середньому заробляє 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*____