Erste SchritteKostenlos loslegen

Ein Raster erstellen

Als Nächstes musst du ein Raster von Werten erstellen, das du durchsuchen kannst, um die optimalen Hyperparameter zu finden. Das Untermodul pyspark.ml.tuning enthält eine Klasse namens ParamGridBuilder, die genau das tut (vielleicht erkennst du hier ein Muster; PySpark hat für fast alles ein Untermodul!).

Du musst die Methoden .addGrid() und .build() verwenden, um ein Raster zu erstellen, das du für die Kreuzvalidierung verwenden kannst. Die Methode .addGrid() nimmt einen Modellparameter (ein Attribut des Modells Estimator, lr, das du vor ein paar Aufgaben erstellt hast) und eine Liste von Werten, die du ausprobieren möchtest, entgegen. Die Methode .build() braucht keine Argumente, sie gibt nur das Raster zurück, das du später verwenden wirst.

Diese Übung ist Teil des Kurses

Einführung in PySpark

Kurs anzeigen

Anleitung zur Übung

  • Importiere das Untermodul pyspark.ml.tuning unter dem Alias tune.
  • Rufe den Klassenkonstruktor ParamGridBuilder() ohne Argumente auf. Speichere dies als grid.
  • Rufe die Methode .addGrid() auf grid mit lr.regParam als erstem Argument und np.arange(0, .1, .01) als zweitem Argument auf. Dieser zweite Aufruf ist eine Funktion aus dem Modul numpy (importiert as np), die eine Liste mit Zahlen von 0 bis 0,1 erstellt, die um 0,01 erhöht wird. Überschreibe grid mit dem Ergebnis.
  • Aktualisiere grid erneut, indem du die Methode .addGrid() ein zweites Mal aufrufst. Erstelle ein Raster für lr.elasticNetParam, das nur die Werte [0, 1] enthält.
  • Rufe die Methode .build() auf grid auf und überschreibe sie mit der Ausgabe.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

# Import the tuning submodule
import ____ as ____

# Create the parameter grid
grid = tune.____

# Add the hyperparameter
grid = grid.addGrid(____, np.arange(0, .1, .01))
grid = grid.addGrid(____, ____)

# Build the grid
grid = grid.build()
Bearbeiten und Ausführen von Code