De beste resultaten gebruiken
Hoewel het interessant is om de resultaten van onze grid search te analyseren, is ons uiteindelijke doel praktisch: we willen voorspellingen doen op onze testset met ons estimatorobject.
We kunnen dit object benaderen via de eigenschap best_estimator_ van ons grid search-object.
Laten we in de eigenschap best_estimator_ kijken, voorspellingen maken en evaluatiescores genereren. We gebruiken eerst de standaard predict (die klassevoorspellingen geeft), maar daarna moeten we predict_proba gebruiken in plaats van predict om de roc-auc-score te berekenen, omdat roc-auc kansscores nodig heeft voor de berekening. We gebruiken een slice [:,1] om de kansen van de positieve klasse te pakken.
Je hebt de gegevenssets X_test en y_test beschikbaar en het object grid_rf_class uit eerdere oefeningen.
Deze oefening maakt deel uit van de cursus
Hyperparameter Tuning in Python
Oefeninstructies
- Controleer het type van de eigenschap
best_estimator_. - Gebruik de eigenschap
best_estimator_om voorspellingen te doen op onze testset. - Genereer een verwarringsmatrix en ROC_AUC-score op basis van onze voorspellingen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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, _____))