Kom igångKom igång gratis

Analysera den bästa modellen för flygtid

Du har precis konfigurerat en CrossValidator för att hitta bra parametrar till den linjära regressionsmodellen som förutsäger flygtid.

Modellpipelinen består av flera steg (objekt av typen StringIndexer, OneHotEncoder, VectorAssembler och LinearRegression) som körs i sekvens. Stegen är tillgängliga via attributet stages på pipelineobjektet. De representeras av en lista och körs i den ordning de visas i listan.

Nu ska du titta närmare på pipelinen, bryta ut stegen och använda den för att göra förutsägelser på testdata.

Följande objekt har redan skapats:

  • cv – ett tränat CrossValidatorModel-objekt, och
  • evaluator – ett RegressionEvaluator-objekt.

Flygdata har delats upp slumpmässigt i flights_train och flights_test.

Den här övningen är en del av kursen

Maskininlärning med PySpark

Visa kurs

Övningsinstruktioner

  • Hämta den bästa modellen.
  • Granska stegen i den bästa modellen.
  • Isolera steget för linjär regression och extrahera dess parametrar.
  • Använd den bästa modellen för att generera förutsägelser på testdata och beräkna RMSE.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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 =", ____.____(____))
Redigera och kör kod