Usare i risultati migliori
Analizzare i risultati della nostra grid search è interessante, ma l'obiettivo finale è pratico: vogliamo fare previsioni sul set di test usando il nostro oggetto stimatore.
Possiamo accedere a questo oggetto tramite la proprietà best_estimator_ del nostro oggetto di grid search.
Diamo un'occhiata alla proprietà best_estimator_, facciamo delle previsioni e generiamo i punteggi di valutazione. Inizieremo con il metodo predefinito predict (che restituisce le classi), ma poi dovremo usare predict_proba invece di predict per calcolare il punteggio roc-auc, perché roc-auc richiede probabilità per il suo calcolo. Usiamo la slice [:,1] per ottenere le probabilità della classe positiva.
Hai a disposizione gli insiemi di dati X_test e y_test e l'oggetto grid_rf_class degli esercizi precedenti.
Questo esercizio fa parte del corso
Ottimizzazione degli iperparametri in Python
Istruzioni dell'esercizio
- Verifica il tipo della proprietà
best_estimator_. - Usa la proprietà
best_estimator_per fare previsioni sul set di test. - Genera una matrice di confusione e il punteggio ROC_AUC a partire dalle tue previsioni.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# See what type of object the best_estimator_ property is
print(____(____.____))
# Create an array of predictions directly using the best_estimator_ property
predictions = grid_rf_class.____._____(X_test)
# Take a look to confirm it worked, this should be an array of 1's and 0's
print(predictions[0:5])
# Now create a confusion matrix
print("Confusion Matrix \n", confusion_matrix(y_test, ______))
# Get the ROC-AUC score
predictions_proba = grid_rf_class.best_estimator_.predict_proba(X_test)[:,1]
print("ROC-AUC Score \n", roc_auc_score(y_test, _____))