Die besten Ergebnisse analysieren
Am Ende interessiert uns vor allem das am besten abschneidende „Quadrat“ in einer Grid Search. Zum Glück haben Scikit-Learn-Objekte vom Typ gridSearchCv mehrere Attribute, die zentrale Informationen nur zum besten Quadrat (bzw. zur besten Zeile in cv_results_) liefern.
Drei Eigenschaften, die du dir ansiehst, sind:
best_score_– Der Score (hier ROC_AUC) des besten Quadrats.best_index_– Der Index der Zeile incv_results_, die Informationen zum besten Quadrat enthält.best_params_– Ein Dictionary der Parameter, die den besten Score ergeben haben, zum Beispiel'max_depth': 10
Das Grid-Search-Objekt grid_rf_class ist verfügbar.
Ein DataFrame (cv_results_df) wurde für dich in Zeile 6 aus cv_results_ erstellt. Das hilft dir, in den Ergebnissen zu indizieren.
Diese Übung ist Teil des Kurses
Hyperparameter-Tuning in Python
Anleitung zur Übung
- Extrahiere und gib den ROC_AUC-Score des besten Quadrats in
grid_rf_classaus. - Erzeuge eine Variable aus der am besten abschneidenden Zeile, indem du per Index in
cv_results_dfzugreifst. - Erzeuge eine Variable
best_n_estimators, indem du den Parametern_estimatorsaus dem besten Quadrat ingrid_rf_classextrahierst, und gib sie aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Print out the ROC_AUC score from the best-performing square
best_score = grid_rf_class._____
print(best_score)
# Create a variable from the row related to the best-performing square
cv_results_df = pd.DataFrame(grid_rf_class.cv_results_)
best_row = cv_results_df.loc[[grid_rf_class.____]]
print(best_row)
# Get the n_estimators parameter from the best-performing square and print
best_n_estimators = grid_rf_class.____["_____"]
print(best_n_estimators)