분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
[private: 3위] 0.93011 ‘CatBoost’
안녕하세요.
운이 좋게 좋은 성적을 거두었습니다.
부족하지만 너그럽게 봐주시면 감사하겠습니다.
참여하신 모든 분들 수고하셨습니다!
안녕하세요. 관심을 가져주시고 댓글 달아주셔서 감사합니다.
대회 진행 시 밑바탕은 베이스라인을 참고하여 시작했습니다.
하단의 링크 2개 살펴보시면, 베이스라인에서는 테스트 데이터를 활용한 것을 확인할 수 있습니다.
https://dacon.io/competitions/official/235959/codeshare/5934?page=1&dtype=recent
https://dacon.io/competitions/official/235959/codeshare/6009?page=1&dtype=recent
일단 첫번째 링크는 train data를 이용해서 라벨 인코딩을 학습시킨 후에, test data에 적용한 것이기 때문에, inee님께서 말씀하신 케이스와 작성하신 코드의 케이스는 다릅니다. 그러나, 두번째 링크는 좀 이상한게, 데이콘에서도 test 데이터를 이용해서 결측치를 채웠는데, 해당 게시글 아래에는 사용하지 말라고 하고 있습니다. 이 부분은 데이콘 측에서도 말을 해줘야 할 거 같기는한데, test data를 활용해서 결측치를 채우는 것은 명백하게 data leakage라고 명시가 되어있어서, data leakage에 해당하는 것이 맞습니다. 그러나, 두 번째 베이스라인 코드에 대해서는 왜 저렇게 되어있는 지는 저도 모르겠네요
DACON Co.,Ltd | CEO Kookjin Kim | 699-81-01021
Mail-order-sales Registration Number: 2021-서울영등포-1704
Business Providing Employment Information Number: J1204020250004
#901, Eunhaeng-ro 3, Yeongdeungpo-gu, Seoul 07237
E-mail dacon@dacon.io |
Tel. 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
train_set['Age'].fillna(train_set.groupby('Designation')['Age'].transform('mean'), inplace=True)
test_set['Age'].fillna(test_set.groupby('Designation')['Age'].transform('mean'), inplace=True)
여기서 test_set의 평균값을 이용하여 결측치를 대체하는 것은 data leakage에 해당합니다.