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 geschultesCrossValidatorModelObjekt undevaluator- einRegressionEvaluatorObjekt.
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
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 =", ____.____(____))