출발 시간 버킷화
하루 중 시간 데이터는 회귀 모델에서 다루기 까다롭습니다. 동시에 버킷으로 나누기에 아주 적합한 대상이기도 해요.
이 연습에서는 항공편 출발 시간을 0(00:00에 해당)부터 24(24:00에 해당) 사이의 숫자에서, 구간으로 나눈 값으로 변환합니다. 그런 다음 이 구간화된 값을 원-핫 인코딩으로 변환할 거예요.
이 연습은 강의의 일부입니다
PySpark로 하는 Machine Learning
연습 안내
- 0, 3, 6, …, 24(각각 0:00, 03:00, 06:00, …, 24:00에 해당)를 경계로 하는 버킷 경계를 가진 bucketizer 객체를 생성하세요. 입력 열은
depart, 출력 열은depart_bucket으로 지정하세요. flights데이터에서 출발 시간을 버킷화하세요.depart와depart_bucket의 처음 다섯 값을 확인해 보세요.- 원-핫 인코더 객체를 생성하고, 입력 열은
depart_bucket, 출력 열은depart_dummy로 지정하세요. - 인코더를 버킷화된 데이터에 맞춘 다음, 이를 사용해 더미 변수로 변환하세요.
depart,depart_bucket,depart_dummy의 처음 다섯 값을 확인하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
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.____('____', '____', '____').____(____)