Analisi dei costi nel mondo reale
Lavorerai ancora sul dataset di credito per questo esercizio. Ricorda che un "positivo" in questo dataset significa "bad credit", cioè un cliente che è andato in default sul prestito, mentre un "negativo" è un cliente che ha continuato a pagare senza problemi. Il direttore della banca ti ha informato che la banca guadagna in media 10K da ogni cliente "good risk", ma perde 150K da ogni cliente "bad risk". Il tuo algoritmo verrà usato per selezionare i richiedenti, quindi chi è etichettato come "negative" riceverà un prestito, mentre i "positive" verranno rifiutati. Qual è il costo totale del tuo classificatore? I dati sono disponibili come X_train, X_test, y_train e y_test. Sono disponibili anche le funzioni confusion_matrix(), f1_score(), precision_score() e RandomForestClassifier().
Questo esercizio fa parte del corso
Progettare workflow di Machine Learning in Python
Istruzioni dell'esercizio
- Esegui il fitting di un classificatore random forest sui dati di training.
- Usalo per etichettare i dati di test.
- Estrai i falsi negativi e i falsi positivi da
confusion_matrix(). Dovrai appiattire la matrice. - Classificare per errore un cliente "good" come "bad" significa che la banca avrebbe perso l’opportunità di guadagnare 10K. Classificare per errore un cliente "bad" come "good" significa che la banca avrebbe perso 150K a causa del default del cliente sul prestito.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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*____