LoslegenKostenlos loslegen

GridSearch-Parameter einrichten

Ein Hyperparameter ist ein Parameter innerhalb einer Funktion. Zum Beispiel sind max_depth oder min_samples_leaf Hyperparameter der Funktion DecisionTreeClassifier(). Hyperparameter-Tuning ist der Prozess, verschiedene Werte von Hyperparametern zu testen, um die optimalen zu finden: diejenigen, die gemessen an deinen Zielen die besten Vorhersagen liefern. In sklearn kannst du mit GridSearch verschiedene Kombinationen von Hyperparametern testen. Noch besser: Mit GridSearchCV() kannst du unterschiedliche Kombinationen testen und zugleich Cross-Validation darauf ausführen – alles in einer Funktion!

In dieser Übung bereitest du die verschiedenen Werte vor, die du für max_depth und min_samples_leaf testen willst. Anschließend packst du sie in ein Dictionary, denn das wird für GridSearchCV() benötigt:

  • Die Dictionary-Schlüssel sind die Namen der Hyperparameter
  • Die Dictionary-Werte sind die Ausprägungen (die Hyperparameterwerte), die du testen willst

Anstatt alle Werte manuell zu schreiben, verwendest du die Funktion range(), mit der wir Werte schrittweise generieren können. Zum Beispiel erzeugt range(1, 10, 2) eine Liste mit Werten von 1 (einschließlich) bis 10 (nicht einschließlich) in Zweierschritten. Das Endergebnis ist also [1, 3, 5, 7, 9].

Diese Übung ist Teil des Kurses

HR Analytics: Mitarbeiterfluktuation mit Python vorhersagen

Kurs anzeigen

Anleitung zur Übung

  • Erzeuge nach dem obigen Beispiel Werte für die maximale Tiefe von 5 bis 20 in Einerschritten
  • Mach dasselbe für die minimale Blattgröße mit Werten von 50 bis 450 in Schritten von 50
  • Erstelle das Dictionary, indem du die zu testenden Werte für max_depth und min_samples_leaf mit den soeben erzeugten Variablen angibst

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Generate values for maximum depth
depth = [i for i in ____(5,21,1)]

# Generate values for minimum sample size
samples = [i for i in range(____,500,____)]

# Create the dictionary with parameters to be checked
parameters = dict(max_depth=depth, min_samples_leaf=____)
Code bearbeiten und ausführen