Gruppera avgångstider
Tidsdata är en utmaning för regressionsmodeller, men passar utmärkt för gruppering (bucketing).
I den här övningen konverterar du avgångstider från numeriska värden mellan 0 (motsvarar 00:00) och 24 (motsvarar 24:00) till grupperade värden. Därefter one-hot-kodar du dessa grupperade värden.
Den här övningen är en del av kursen
Maskininlärning med PySpark
Övningsinstruktioner
- Skapa ett bucketizer-objekt med intervallgränser vid 0, 3, 6, …, 24, vilket motsvarar tiderna 0:00, 03:00, 06:00, …, 24:00. Ange
departsom indatakolumn ochdepart_bucketsom utdatakolumn. - Gruppera avgångstiderna i
flights-datamängden. Visa de fem första värdena fördepartochdepart_bucket. - Skapa ett one-hot-encoder-objekt och ange
depart_bucketsom indatakolumn ochdepart_dummysom utdatakolumn. - Träna enkodaren på de grupperade data och använd den sedan för att omvandla dessa data till dummyvariabler. Visa de fem första värdena för
depart,depart_bucketochdepart_dummy.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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.____('____', '____', '____').____(____)