LoslegenKostenlos loslegen

Das beste Modell für die Flugdauer unter die Lupe genommen

Du hast gerade ein „ CrossValidator ” eingerichtet, um gute Parameter für das lineare Regressionsmodell zur Vorhersage der Flugdauer zu finden.

Die Modell-Pipeline hat mehrere Phasen (Objekte vom Typ „ StringIndexer “, „ OneHotEncoder “, „ VectorAssembler “ und „ LinearRegression “), die nacheinander ablaufen. Die Phasen sind als Attribut „ stages “ im Pipeline-Objekt verfügbar. Sie werden durch eine Liste dargestellt und die Schritte werden in der Reihenfolge ausgeführt, in der sie in der Liste stehen.

Jetzt schaust du dir die Pipeline genauer an, teilst die Phasen auf und nutzt sie, um Vorhersagen zu den Testdaten zu treffen.

Die folgenden Objekte wurden schon erstellt:

  • cv – ein trainiertes Objekt „ CrossValidatorModel “ und
  • evaluator – ein Objekt „ RegressionEvaluator “.

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

Diese Übung ist Teil des Kurses

Maschinelles Lernen mit PySpark

Kurs anzeigen

Anleitung zur Übung

  • Hol das beste Modell raus.
  • Schau dir mal die Phasen im besten Modell an.
  • Isoliere die lineare Regressionsphase und hol dir die Parameter raus.
  • Nimm das beste Modell, um Vorhersagen für die Testdaten zu machen und den RMSE zu berechnen.

Interaktive Übung

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

# Get the best model from cross validation
best_model = cv.____

# Look at the stages in the best model
print(best_model.____)

# Get the parameters for the LinearRegression object in the best model
best_model.____.extractParamMap()

# Generate predictions on testing data using the best model then calculate RMSE
predictions = ____.____(____)
print("RMSE =", ____.____(____))
Code bearbeiten und ausführen