분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
데이터 분석 중 삽질과정 공유합니다.
공공데이터 포털에서 공휴일 정보를 받아와서 활용할 계획이었습니다.
2019년 부터 2023년까지의 공휴일 정보를 공공데이터 포털에서 받아서 train 데이터에 합쳐보니
공휴일에도 판매를 하는 날도 있고 판매를 하지 않는 날도 있습니다. 신정에는 판매를 하지않고, 삼일절에는 판매를 합니다.
명확하지는 않아도 예측에 도움이 될거 같아서 테스트데이터에도 공휴일 데이터를 합쳐보았습니다.
그런데........
test 데이터 기간에는 공휴일이 하루도 존재하지 않네요. ㅠㅠ
똑같은 삽질을 하지마시고, 혹시나 다른 대회에서 사용하실분들 참고하시라고 코드 올려봅니다.
모두 좋은 결과 얻길 바랍니다~
공휴일 정보는 data leakage 아니라는 다른 대회 답변을 봐서 괜찮다생각했는데,
이 대회 규칙이 외부 데이터 사용금지이니 특별히 예외가 아니라면 사용 안하는게 맞겠네요. 제가 규칙을 꼼꼼히 안봤던거같습니다.
앗,, 관련 내용 공유해주셔서 감사합니다.
정말 궁금해서 여쭤본건데 글로만 적으니 좀 적대적으로 보였을까 걱정되네요.
남은 기간 파이팅 하시길 바라겠습니다!!
안녕하세요 Umul, Saturday.K 님
말씀해주신 것과 같이 API 등을 활용해서 merge를 하는 방식은
외부데이터를 불러와 기존 데이터와 병합하는 방식이기 때문에 규정 위반의 소지가 있습니다.
다만 공휴일 정보, 주말 정보 자체는 2023.03.04일 이전에 알 수 있는 도메인 지식으로 취급하기에 활용 가능하십니다.
감사합니다.
일반적으로 날짜를 활용하는 데이터에서 공휴일 정보를 활용하는 것은 문제되지 않습니다.
앞선 전력사용량 예측대회에서도 외부데이터 활용은 불가능했지만 공휴일 정보 활용은 문제 없었습니다.
그리고 공휴일 정보 활용이 삽질이라고 보기는 어렵습니다.
만약 train 안에서 공휴일에 따라 뭔가 가격 차이가 있다면 공휴일의 정보가 평일에 영향을 주지 않도록 역할이 있을 것이고,
공휴일이 없는 test 예측 과정에서 공휴일을 제외한 나머지 날들의 정보를 활용하므로 성능이 개선될 여지가 있겠죠:)
일반적인 경매 휴일은 설, 추석 연휴와 일요일, 그리고 별도로 지정한 여름 휴가 등으로 보입니다.
공휴일이 실제 가격에 큰 영향을 주지 않을 것 같으면 저 날들만 찾아서 제거하면 될 것 같네요:)
물론 한 끝이 아쉬우면 결국 공휴일 정보를 쓰게 되지 않을까요?ㅎㅎ
공휴일이 어떤 건지 알 수 없지만, holidays모듈을 사용해서 하기와 같이 변환해도 좋을 것 같습니다!
공휴일은 10으로 weekday 열에 들어갑니다.
import holidays
import pandas as pd
def add_weekday(df) :
df['date'] = pd.to_datetime(df['timestamp'])
df['weekcode'] = df['date'].dt.weekday
year_min = df['date'].dt.date.unique().min().year
year_max = df['date'].dt.date.unique().max().year
kor_holidays = list(holidays.KOR(years=range(year_min, year_max)).keys())
idx_kor_holidays = pd.to_datetime(kor_holidays)
df_temp = df[['date', 'weekcode']].copy()
df_temp.set_index('date', inplace=True)
df_temp.loc[idx_kor_holidays, 'weekcode'] = 10
df_temp.reset_index(inplace=True)
df['weekcode'] = df_temp['weekcode']
return df
오 holidays는 처음 보는데 한 번 활용해보면 좋을 것 같습니다!
감사합니다!
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
대회 제공 데이터 이외의 외부 데이터 사용 금지
라고 규칙에 적어져 있던데 혹시 규칙에 위배되지는 않는걸까요??