Zacznij terazZacznij za darmo

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:

  • km
  • org (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) oraz
  • mon (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

Zobacz kurs

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)
Edytuj i uruchom kod