1. Learn
  2. /
  3. คอร์ส
  4. /
  5. Uczenie maszynowe z PySpark

Connected

แบบฝึกหัด

Kroswalidacja potoku modelu czasu trwania lotu

Model z kroswalidacją, który przed chwilą zbudowałeś, był prosty – do przewidywania wartości duration używał jedynie zmiennej km.

Innym ważnym predyktorem czasu trwania lotu jest lotnisko wylotu. Z reguły start z ruchliwych lotnisk zajmuje więcej czasu. Sprawdźmy, czy dodanie tego predyktora poprawi model!

W tym ćwiczeniu dodasz pole org do modelu. Ponieważ org jest zmienną kategoryczną, trzeba ją najpierw odpowiednio przetworzyć: przekształcić na indeks, a następnie zakodować metodą one-hot, zanim będzie można połączyć ją z km i użyć do zbudowania modelu regresji. Wszystkie te operacje ujmiemy w potok.

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

  • params — pusty siatkę parametrów
  • evaluator — ewaluator regresji
  • regression — obiekt LinearRegression z labelCol='duration'.

Klasy StringIndexer, OneHotEncoder, VectorAssembler i CrossValidator zostały już zaimportowane.

คำแนะนำ

100 XP
  • Utwórz indekser ciągów znaków. Wskaż pole wejściowe jako org, a pole wyjściowe jako org_idx.
  • Utwórz koder one-hot. Nadaj polu wyjściowemu nazwę org_dummy.
  • Połącz pola km i org_dummy w jedno pole o nazwie features.
  • Utwórz potok, korzystając z następujących operacji: indekser ciągów znaków, koder one-hot, asembler i regresja liniowa. Użyj go do utworzenia kroswalidatora.