Hyperparameter zufällig sampeln
Für eine Random Search müssen wir zunächst zufällige Stichproben aus unserem Hyperparameterraum ziehen.
In dieser Übung erstellst du zunächst einige Listen mit Hyperparametern, die zu einer Liste von Listen zusammengefasst werden können. Anschließend ziehst du zufällige Stichproben von Hyperparameter-Kombinationen, um die Random Search vorzubereiten.
Um das Beispiel anschaulich und nicht zu komplex zu halten, verwendest du nur die Hyperparameter learning_rate und min_samples_leaf des GBM-Algorithmus.
Diese Übung ist Teil des Kurses
Hyperparameter-Tuning in Python
Anleitung zur Übung
- Erstelle eine Liste mit 200 Werten für den Hyperparameter
learning_ratezwischen 0,01 und 1,5 und weise sie der Listelearn_rate_listzu. - Erstelle eine Liste mit Werten zwischen 10 und 40 (einschließlich) für den Hyperparameter
min_samples_leafund weise sie der Listemin_samples_listzu. - Fasse diese Listen zu einer Liste von Listen zusammen, aus der gesampelt wird.
- Ziehe zufällig 250 Modelle aus diesen Hyperparameterkombinationen und gib das Ergebnis aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Create a list of values for the learning_rate hyperparameter
learn_rate_list = list(np.____(____,____,____))
# Create a list of values for the min_samples_leaf hyperparameter
min_samples_list = list(____(____,____))
# Combination list
combinations_list = [list(x) for x in ____(____, min_samples_list)]
# Sample hyperparameter combinations for a random search.
random_combinations_index = np.____(range(0, len(____)), ____, replace=False)
combinations_random_chosen = [combinations_list[x] for x in ____]
# Print the result
print(____)