LoslegenKostenlos loslegen

Einfaches Flugdauer-Modell kreuzvalidieren

Du hast schon ein paar Modelle für die Vorhersage der Flugdauer gebaut und sie mit einer einfachen Train/Test-Aufteilung bewertet. Aber die Kreuzvalidierung ist echt eine viel bessere Möglichkeit, um die Leistung eines Modells zu checken.

In dieser Übung trainierst du ein einfaches Modell für die Flugdauer mithilfe von Kreuzvalidierung. Die Reisezeit hängt normalerweise stark von der Entfernung ab, also sollte die Spalte „ km “ allein schon ein gutes Modell ergeben.

Die Daten wurden nach dem Zufallsprinzip in „ flights_train “ und „ flights_test “ aufgeteilt.

Die folgenden Klassen wurden schon importiert: „ LinearRegression “, „ RegressionEvaluator “, „ ParamGridBuilder “ und „ CrossValidator “.

Diese Übung ist Teil des Kurses

Maschinelles Lernen mit PySpark

Kurs anzeigen

Anleitung zur Übung

  • Mach ein leeres Parameterraster.
  • Objekte zum Erstellen und Auswerten eines linearen Regressionsmodells erstellen. Das Modell sollte das Feld „Dauer“ vorhersagen.
  • Mach ein Cross-Validator-Objekt. Gib Werte für die Argumente „ estimator “, „ estimatorParamMaps “ und „ evaluator “ an. Wähle die 5-fache Kreuzvalidierung.
  • Trainiere und teste das Modell mit mehreren Folds der Trainingsdaten.

Interaktive Übung

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

# 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.
Code bearbeiten und ausführen