Kreuzvalidierung des einfachen Flugdauermodells
Du hast bereits einige Modelle zur Vorhersage der Flugdauer erstellt und sie mit einem einfachen Zug/Test-Split bewertet. Die Kreuzvalidierung bietet jedoch eine viel bessere Möglichkeit, die Modellleistung zu bewerten.
In dieser Übung trainierst du ein einfaches Modell für die Flugdauer mithilfe der Kreuzvalidierung. Die Reisezeit ist in der Regel stark mit der Entfernung korreliert, so dass die Spalte km
allein ein brauchbares Modell ergeben sollte.
Die Daten wurden nach dem Zufallsprinzip in flights_train
und flights_test
aufgeteilt.
Die folgenden Klassen sind bereits importiert worden: LinearRegression
, RegressionEvaluator
, ParamGridBuilder
und CrossValidator
.
Diese Übung ist Teil des Kurses
Maschinelles Lernen mit PySpark
Anleitung zur Übung
- Erstelle ein leeres Parameterraster.
- Erstelle Objekte zum Erstellen und Auswerten eines linearen Regressionsmodells. Das Modell sollte das Feld "Dauer" vorhersagen.
- Erstelle ein Kreuzvalidator-Objekt. Gib Werte für die Argumente
estimator
,estimatorParamMaps
undevaluator
an. Wähle die 5-fache Kreuzvalidierung. - Trainiere und teste das Modell über mehrere Foldings der Trainingsdaten.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# Create an empty parameter grid
params = ____().____()
# Create objects for building and evaluating a regression model
regression = ____(____)
evaluator = ____(____)
# Create a cross validator
cv = ____(estimator=____, estimatorParamMaps=____, evaluator=____, ____)
# Train and test model on multiple folds of the training data
cv = cv.____(____)
# NOTE: Since cross-valdiation builds multiple models, the fit() method can take a little while to complete.