분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
[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에 해당하는 것이 맞습니다. 그러나, 두 번째 베이스라인 코드에 대해서는 왜 저렇게 되어있는 지는 저도 모르겠네요
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 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에 해당합니다.