Začněte nyníZačněte zdarma

Rozdělení času odletu do intervalů

Denní čas je v regresních modelech trochu oříšek. Zároveň je to ideální kandidát pro rozdělení do intervalů (bucketing).

V této lekci převedeš časy odletů z číselných hodnot v rozsahu 0 (odpovídá 00:00) až 24 (odpovídá 24:00) do binovaných hodnot. Ty pak zakódujete metodou one-hot encoding.

Toto cvičení je součástí kurzu

Machine Learning with PySpark

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř objekt bucketizeru s hranicemi intervalů 0, 3, 6, …, 24, které odpovídají časům 0:00, 03:00, 06:00, …, 24:00. Jako vstupní sloupec zadej depart a jako výstupní depart_bucket.
  • Rozděl časy odletů v datech flights do intervalů. Zobraz prvních pět hodnot pro sloupce depart a depart_bucket.
  • Vytvoř objekt one-hot enkodéru — jako vstupní sloupec zadej depart_bucket a jako výstupní depart_dummy.
  • Natrénuj enkodér na binovaných datech a pomocí něj je transformuj na dummy proměnné. Zobraz prvních pět hodnot pro sloupce depart, depart_bucket a depart_dummy.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

from pyspark.ml.feature import Bucketizer, OneHotEncoder

# Create buckets at 3 hour intervals through the day
buckets = ____(splits=[____], inputCol='____', outputCol='____')

# Bucket the departure times
bucketed = buckets.____(____)
bucketed.____('____', '____').____(____)

# Create a one-hot encoder
onehot = ____(inputCols=['____'], outputCols=['____'])

# One-hot encode the bucketed departure times
flights_onehot = ____.____(____).____(____)
flights_onehot.____('____', '____', '____').____(____)
Upravit a spustit kód