Aan de slagGa gratis aan de slag

Het beste model voor vluchtduur ontleden

Je hebt zojuist een CrossValidator opgezet om goede parameters te vinden voor het lineaire regressiemodel dat de vluchtduur voorspelt.

De modelpipeline heeft meerdere stages (objecten van het type StringIndexer, OneHotEncoder, VectorAssembler en LinearRegression) die na elkaar worden uitgevoerd. De stages zijn beschikbaar als het attribuut stages op het pipeline-object. Ze worden weergegeven als een lijst en de stages worden uitgevoerd in de volgorde waarin ze in de lijst staan.

Nu ga je de pipeline van dichterbij bekijken, de stages uitsplitsen en deze gebruiken om voorspellingen te maken op de testgegevens.

De volgende objecten zijn al aangemaakt:

  • cv — een getraind CrossValidatorModel-object en
  • evaluator — een RegressionEvaluator-object.

De vluchtgegevens zijn willekeurig opgesplitst in flights_train en flights_test.

Deze oefening maakt deel uit van de cursus

Machine Learning met PySpark

Cursus bekijken

Oefeninstructies

  • Haal het beste model op.
  • Bekijk de stages in het beste model.
  • Isoleer de lineaire regressiestage en haal de parameters eruit.
  • Gebruik het beste model om voorspellingen te genereren op de testgegevens en bereken de RMSE.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren