Análise de custos no mundo real
Você ainda vai trabalhar com o conjunto de dados de crédito neste exercício. Lembre que um "positivo" neste conjunto significa "crédito ruim", ou seja, um cliente que deu default no empréstimo, e um "negativo" significa um cliente que continuou pagando sem problemas. O gerente do banco informou que o banco lucra, em média, 10 mil com cada cliente "good risk", mas perde 150 mil com cada cliente "bad risk". Seu algoritmo será usado para triagem de solicitantes, então quem for rotulado como "negativo" receberá o empréstimo, e os "positivos" serão recusados. Qual é o custo total do seu classificador? Os dados estão disponíveis como X_train, X_test, y_train e y_test. As funções confusion_matrix(), f1_score(), precision_score() e RandomForestClassifier() estão disponíveis.
Este exercício faz parte do curso
Projetando Workflows de Machine Learning em Python
Instruções do exercício
- Ajuste um classificador de random forest aos dados de treino.
- Use-o para rotular os dados de teste.
- Extraia os falsos negativos e falsos positivos de
confusion_matrix(). Você terá que achatar a matriz. - Classificar erroneamente um cliente "good" como "bad" significa que o banco teria perdido a chance de obter um lucro de 10 mil. Classificar erroneamente um cliente "bad" como "good" significa que o banco teria perdido 150 mil devido ao default do cliente no empréstimo.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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*____