1. 学ぶ
  2. /
  3. コース
  4. /
  5. PySpark로 하는 Feature Engineering

Connected

演習

시간 특성 조정하기

이 강의 전반에서 학습 중 모델에 정보를 누출하는 위험성에 대해 여러 번 언급했어요. 데이터 누출은 정확도 지표를 지나치게 낙관적으로 만들지만, 실제 데이터를 적용하면 결과가 실망스러운 경우가 많아요.

이번 연습에서는 DAYSONMARKET이 예측 시점에 우리가 가진 정보만 반영하도록 하려고 해요. 즉, 집이 아직 시장에 나와 있다면 앞으로 며칠 더 나오게 될지는 알 수 없어요. 2017-12-10 기준으로 현재 보유한 정보만 반영되도록 test_df를 조정해야 해요.

참고: 이 예제에서는 lit() 함수를 사용해요. 이 함수는 함수 호출에서 전체 열이 기대되는 자리에도 단일 값을 사용할 수 있게 해줘요.

指示

100 XP
  • 나중에 사용할 수 있도록 pyspark.sql.functions에서 다음 함수를 임포트하세요: datediff(), to_date(), lit().
  • 날짜 문자열 '2017-12-10'에 먼저 리터럴 함수 lit()를 호출한 다음 to_date()를 적용해 pyspark 날짜로 변환하세요.
  • where()를 사용해 OFFMKTDATE가 split_date 이상이고 LISTDATE가 split_date 이하인 행으로 필터링해 test_df를 만드세요.
  • DAYSONMARKET을 대체하세요. DAYSONMARKET이라는 새 열을 계산해 추가하고, 이 열은 split_date와 LISTDATE의 차이가 되도록 하세요. 날짜 계산에는 datediff()를 사용하세요. 제공된 코드를 이용해 새 열과 원래 열을 확인해 보세요.