Prestandamått för RF-modellen
I de tidigare övningarna beräknade du ett noggrannhetsmått för din slumpmässiga skogsmodell. Nu vet vi att noggrannhet kan vara missvisande vid bedrägeridetektion. Med kraftigt obalanserade bedrägeridata är AUROC-kurvan ett mer tillförlitligt prestandamått som används för att jämföra olika klassificerare. Dessutom ger klassificeringsrapporten information om modellens precision och känslighet, medan konfusionsmatrisen visar hur många bedrägerifall du faktiskt lyckas förutsäga korrekt. Nu ska vi ta fram dessa prestandamått.
Du fortsätter att arbeta med samma slumpmässiga skogsmodell från föregående övning. Modellen, definierad som model = RandomForestClassifier(random_state=5), har redan anpassats till träningsdatan, och X_train, y_train, X_test, y_test finns tillgängliga.
Den här övningen är en del av kursen
Bedrägeridetektering i Python
Övningsinstruktioner
- Importera klassificeringsrapporten, konfusionsmatrisen och ROC-poängen från
sklearn.metrics. - Hämta de binära förutsägelserna från din tränade slumpmässiga skogsmodell
model. - Hämta de förutsagda sannolikheterna genom att köra funktionen
predict_proba(). - Ta fram klassificeringsrapporten och konfusionsmatrisen genom att jämföra
y_testmedpredicted.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(____(____, ____))