Model czasu lotu: więcej cech!
Dodajmy do modelu więcej cech. Nie musi to jednak oznaczać, że model będzie lepszy – niektóre cechy mogą go poprawić, inne mogą go pogorszyć.
Więcej cech zawsze sprawia, że model staje się bardziej złożony i trudniejszy do interpretacji.
Oto cechy, które zostaną uwzględnione w kolejnym modelu:
kmorg(lotnisko wylotu, zakodowane metodą one-hot, 8 poziomów)depart(godzina odlotu, podzielona na 3-godzinne przedziały, zakodowana metodą one-hot, 8 poziomów)dow(dzień tygodnia odlotu, zakodowany metodą one-hot, 7 poziomów) orazmon(miesiąc odlotu, zakodowany metodą one-hot, 12 poziomów).
Wszystkie te cechy zostały zebrane w kolumnie features, która jest rzadką reprezentacją 32 kolumn (pamiętaj, że kodowanie one-hot daje liczbę kolumn o jeden mniejszą niż liczba poziomów).
Dane są dostępne jako flights i zostały losowo podzielone na flights_train i flights_test.
To ćwiczenie opiera się na niewielkim podzbiorze danych o lotach.
To ćwiczenie jest częścią kursu
Uczenie maszynowe z PySpark
Instrukcje do ćwiczenia
- Dopasuj model regresji liniowej do danych treningowych.
- Wygeneruj predykcje dla danych testowych.
- Oblicz RMSE na danych testowych.
- Przyjrzyj się współczynnikom modelu. Czy któryś z nich wynosi zero?
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
from pyspark.ml.regression import ____
from pyspark.ml.evaluation import ____
# Fit linear regression model to training data
regression = ____(____).____(____)
# Make predictions on testing data
predictions = regression.____(____)
# Calculate the RMSE on testing data
rmse = ____(____).____(____)
print("The test RMSE is", rmse)
# Look at the model coefficients
coeffs = regression.____
print(coeffs)