Aan de slagGa gratis aan de slag

Cross-validatie voor een simpel model van vluchtduur

Je hebt al een paar modellen gebouwd om de vluchtduur te voorspellen en die geëvalueerd met een eenvoudige train/test-split. Cross-validatie is echter een veel betere manier om de modelprestatie te beoordelen.

In deze oefening ga je een eenvoudig model voor de vluchtduur trainen met cross-validatie. Reistijd hangt meestal sterk samen met afstand, dus alleen de kolom km gebruiken zou al een redelijk model moeten opleveren.

De data zijn willekeurig opgesplitst in flights_train en flights_test.

De volgende klassen zijn al geïmporteerd: LinearRegression, RegressionEvaluator, ParamGridBuilder en CrossValidator.

Deze oefening maakt deel uit van de cursus

Machine Learning met PySpark

Cursus bekijken

Oefeninstructies

  • Maak een lege parametergrid.
  • Maak objecten om een lineair regressiemodel te bouwen en te evalueren. Het model moet het veld "duration" voorspellen.
  • Maak een cross-validatorobject. Vul waarden in voor de argumenten estimator, estimatorParamMaps en evaluator. Kies 5-fold cross-validatie.
  • Train en test het model over meerdere folds van de trainingsdata.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Create an empty parameter grid
params = ____().____()

# Create objects for building and evaluating a regression model
regression = ____(____)
evaluator = ____(____)

# Create a cross validator
cv = ____(estimator=____, estimatorParamMaps=____, evaluator=____, ____)

# Train and test model on multiple folds of the training data
cv = cv.____(____)

# NOTE: Since cross-valdiation builds multiple models, the fit() method can take a little while to complete.
Code bewerken en uitvoeren