Flüge mit linearer Regression optimieren
Bisher hast du beim Erstellen deiner Modelle die Standard-Hyperparameter verwendet. In dieser Übung wirst du die Kreuzvalidierung nutzen, um einen optimalen (oder nahezu optimalen) Satz von Modell-Hyperparametern auszuwählen.
Folgendes wurde bereits erstellt:
regression
– ein Objekt „LinearRegression
“pipeline
— eine Pipeline mit String-Indexer, One-Hot-Encoder, Vektor-Assembler und linearer Regression undevaluator
– ein Objekt „RegressionEvaluator
“.
Diese Übung ist Teil des Kurses
Maschinelles Lernen mit PySpark
Anleitung zur Übung
- Erstell einen Parameter-Raster-Generator.
- Füge Gitter für „
regression.regParam
“ (Werte 0,01, 0,1, 1,0 und 10,0) und „regression.elasticNetParam
“ (Werte 0,0, 0,5 und 1,0) hinzu. - Erstell das Raster.
- Erstell einen Kreuzvalidator und leg fünf Folds fest.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Create parameter grid
params = ____()
# Add grids for two parameters
params = params.____(____, ____) \
.____(____, ____)
# Build the parameter grid
params = params.____()
print('Number of models to be tested: ', len(params))
# Create cross-validator
cv = ____(estimator=____, estimatorParamMaps=____, evaluator=____, ____)