Korsvalidering av en enkel modell för flygduration
Du har redan byggt några modeller för att förutsäga flygduration och utvärderat dem med en enkel uppdelning i tränings- och testdata. Korsvalidering ger dock ett betydligt bättre sätt att utvärdera modellens prestanda.
I den här övningen ska du träna en enkel modell för flygduration med hjälp av korsvalidering. Restid är vanligtvis starkt korrelerad med avstånd, så enbart kolumnen km bör ge en hyfsad modell.
Data har delats upp slumpmässigt i flights_train och flights_test.
Följande klasser har redan importerats: LinearRegression, RegressionEvaluator, ParamGridBuilder och CrossValidator.
Den här övningen är en del av kursen
Maskininlärning med PySpark
Övningsinstruktioner
- Skapa ett tomt parameterrutnät.
- Skapa objekt för att bygga och utvärdera en linjär regressionsmodell. Modellen ska förutsäga fältet "duration".
- Skapa ett korsvalideringsobjekt. Ange värden för argumenten
estimator,estimatorParamMapsochevaluator. Välj 5-faldig korsvalidering. - Träna och testa modellen över flera veck av träningsdatan.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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-validation builds multiple models, the fit() method can take a little while to complete.