시작하기무료로 시작하기

출발 시간 버킷화

하루 중 시간 데이터는 회귀 모델에서 다루기 까다롭습니다. 동시에 버킷으로 나누기에 아주 적합한 대상이기도 해요.

이 연습에서는 항공편 출발 시간을 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 데이터에서 출발 시간을 버킷화하세요. departdepart_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.____('____', '____', '____').____(____)
코드 편집 및 실행