Metriche di performance per il modello RF
Negli esercizi precedenti hai ottenuto un punteggio di accuracy per il tuo modello di random forest. Questa volta, sappiamo che l'accuracy può essere fuorviante nel caso del fraud detection. Con dati di frode fortemente sbilanciati, la curva AUROC è una metrica di performance più affidabile, usata per confrontare diversi classificatori. Inoltre, il classification report ti indica precision e recall del tuo modello, mentre la confusion matrix mostra effettivamente quante frodi riesci a prevedere correttamente. Quindi otteniamo queste metriche di performance.
Continuerai a lavorare sullo stesso modello di random forest dell'esercizio precedente. Il tuo modello, definito come model = RandomForestClassifier(random_state=5), è già stato addestrato sui dati di training, e X_train, y_train, X_test, y_test sono disponibili.
Questo esercizio fa parte del corso
Rilevamento delle frodi in Python
Istruzioni dell'esercizio
- Importa il classification report, la confusion matrix e la ROC score da
sklearn.metrics. - Ottieni le predizioni binarie dal
modeldi random forest addestrato. - Ottieni le probabilità previste eseguendo la funzione
predict_proba(). - Ricava classification report e confusion matrix confrontando
y_testconpredicted.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Import the packages to get the different performance metrics
from sklearn.metrics import ____, ____, ____
# Obtain the predictions from our random forest model
predicted = model.____(X_test)
# Predict probabilities
probs = ____.____(X_test)
# Print the ROC curve, classification report and confusion matrix
print(____(y_test, probs[:,1]))
print(____(____, predicted))
print(____(____, ____))