Kroswalidacja prostego modelu czasu trwania lotu
Masz już za sobą budowę kilku modeli do przewidywania czasu trwania lotu i oceniałeś je za pomocą prostego podziału na zbiór treningowy i testowy. Kroswalidacja oferuje jednak znacznie lepszy sposób oceny wydajności modelu.
W tym ćwiczeniu wytrenujemy prosty model czasu trwania lotu z użyciem kroswalidacji. Czas podróży jest zwykle silnie skorelowany z odległością, więc sama kolumna km powinna wystarczyć do zbudowania przyzwoitego modelu.
Dane zostały losowo podzielone na flights_train i flights_test.
Następujące klasy zostały już zaimportowane: LinearRegression, RegressionEvaluator, ParamGridBuilder oraz CrossValidator.
To ćwiczenie jest częścią kursu
Uczenie maszynowe z PySpark
Instrukcje do ćwiczenia
- Utwórz pustą siatkę parametrów.
- Utwórz obiekty służące do budowania i oceny modelu regresji liniowej. Model powinien przewidywać pole "duration".
- Utwórz obiekt kroswalidatora. Podaj wartości argumentów
estimator,estimatorParamMapsievaluator. Wybierz kroswalidację 5-krotną. - Wytrenuj i przetestuj model na wielu złożeniach danych treningowych.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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.