Zacznij terazZacznij za darmo

Analiza najlepszego modelu czasu trwania lotu

Właśnie skonfigurowano obiekt CrossValidator w celu znalezienia dobrych parametrów dla modelu regresji liniowej przewidującego czas trwania lotu.

Potok modelu składa się z wielu etapów (obiektów typu StringIndexer, OneHotEncoder, VectorAssembler i LinearRegression), które są wykonywane kolejno. Etapy są dostępne jako atrybut stages obiektu potoku. Są one reprezentowane przez listę, a kolejność ich wykonania odpowiada kolejności na tej liście.

Teraz przyjrzysz się bliżej temu potokowi: wyodrębnisz poszczególne etapy i użyjesz modelu do generowania predykcji na danych testowych.

Następujące obiekty zostały już utworzone:

  • cv — wytrenowany obiekt CrossValidatorModel oraz
  • evaluator — obiekt RegressionEvaluator.

Dane dotyczące lotów zostały losowo podzielone na zbiory flights_train i flights_test.

To ćwiczenie jest częścią kursu

Uczenie maszynowe z PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Pobierz najlepszy model.
  • Sprawdź etapy wchodzące w skład najlepszego modelu.
  • Wyodrębnij etap regresji liniowej i pobierz jego parametry.
  • Użyj najlepszego modelu do wygenerowania predykcji na danych testowych i oblicz RMSE.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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 =", ____.____(____))
Edytuj i uruchom kod