Coarse to Fine visualisieren
Du führst den ersten Teil einer Coarse-to-Fine-Suche durch. Dabei analysierst du die Ergebnisse einer initialen Random-Suche über einen großen Suchraum und entscheidest anschließend, welcher nächste Schritt sinnvoll ist, um deine Hyperparametersuche zu verfeinern.
Dir stehen zur Verfügung:
combinations_list– eine Liste der möglichen Hyperparameter-Kombinationen, auf denen die Random-Suche durchgeführt wurde.results_df– ein DataFrame, der jede Hyperparameter-Kombination und die resultierende Accuracy aller 500 Durchläufe enthält. Jeder Hyperparameter ist eine Spalte, die Überschrift ist der Hyperparameter-Name.visualize_hyperparameter()– eine Funktion, die eine Spalte des DataFrames (als String) entgegennimmt und ein Streudiagramm der Werte dieser Spalte im Vergleich zu den Accuracy-Scores erzeugt. Ein Beispielaufruf wärevisualize_hyperparameter('accuracy')
Wenn du die Definition der Funktion visualize_hyperparameter() ansehen möchtest, kannst du diesen Code ausführen:
import inspect
print(inspect.getsource(visualize_hyperparameter))
Diese Übung ist Teil des Kurses
Hyperparameter-Tuning in Python
Anleitung zur Übung
- Bestätige (durch Ausgeben) die Größe von
combinations_list, um die Notwendigkeit eines Starts mit einer Random-Suche zu begründen. - Sortiere
results_dfnach den Accuracy-Werten und gib die Top-10-Zeilen aus. Gibt es klare Erkenntnisse? Vorsicht bei kleiner Stichprobe! - Bestätige (durch Ausgeben), welche Hyperparameter in dieser Suche verwendet wurden. Das sind die Spaltennamen in
results_df. - Rufe
visualize_hyperparameter()der Reihe nach mit jedem Hyperparameter auf (max_depth,min_samples_leaf,learn_rate). Erkennst du Trends?
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Confirm the size of the combinations_list
print(____(____))
# Sort the results_df by accuracy and print the top 10 rows
print(results_df.____(by=____, ascending=False).head(____))
# Confirm which hyperparameters were used in this search
print(results_df.____)
# Call visualize_hyperparameter() with each hyperparameter in turn
visualize_hyperparameter(____)
visualize_hyperparameter(____)
visualize_hyperparameter(____)