Das beste Flugdauermodell herausfinden
Du hast gerade eine CrossValidator
eingerichtet, um gute Parameter für das lineare Regressionsmodell zur Vorhersage der Flugdauer zu finden.
Die Modellpipeline hat mehrere Stufen (Objekte vom Typ StringIndexer
, OneHotEncoder
, VectorAssembler
und LinearRegression
), die nacheinander arbeiten. Die Stufen sind als Attribut stages
auf dem 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 siehst du dir die Pipeline genauer an, teilst die Phasen auf und nutzt sie, um Vorhersagen über die Testdaten zu treffen.
Die folgenden Objekte sind bereits erstellt worden:
cv
- ein geschultesCrossValidatorModel
Objekt undevaluator
- einRegressionEvaluator
Objekt.
Die Flugdaten wurden nach dem Zufallsprinzip in flights_train
und flights_test
aufgeteilt.
Diese Übung ist Teil des Kurses
Maschinelles Lernen mit PySpark
Anleitung zur Übung
- Finde das beste Modell.
- Schau dir die Stufen im besten Modell an.
- Isoliere die lineare Regressionsstufe und extrahiere ihre Parameter.
- Verwende das beste Modell, um Vorhersagen für die Testdaten zu erstellen und berechne den RMSE.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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 =", ____.____(____))