잡케어 추천 알고리즘 경진대회

data leakage 문의

2022.01.11 22:18 2,514 Views

person_rn별로 contents_open_dt 순으로 "접속 순서" 라는 feature를 만드는 것이 가능한가요?

예를 들어 train의 1번 유저가 1월 3일 , 7월 2일에 기록이 있으면 각 행에 대해 1, 2로 값이 매핑되고

test 데이터에서는 loop문과 train데이터와 person_rn 매칭 여부를 통해서

매칭이 되는 경우 train 데이터 기준 가장 큰 "접속 순서" 값(1번 유저의 경우는 2가 최대값) 다음으로 contents_open_dt 순으로 순서를 부여하고자 합니다.

예를 들어 test 데이터에서 1번 유저가 8월 4일에 접속한 기록이 있는 경우 train 데이터에도 1번 유저가 있기 때문에 8월 4일 행에는 "접속 순서" 값이 3이 됩니다.

학습시에 test 데이터 정보는 사용되지 않고 test 데이터는 train 데이터를 통해서 생성되는 feature라 제가 판단하기 애매하여 질문 남깁니다.


요약하면 train에 생성 되는 feature는 train 데이터로만 생성된 것이고 test 데이터에 생성되는 feature는 train 데이터와 person_rn매칭 여부를 통해 생성되는 것 입니다.

로그인이 필요합니다
0 / 1000
taegu
2022.01.12 10:30

예로 test셋 1번유저가 8월9일에 접속 기록이 있다면 맵핑값이 3인가요 4인가요?

4일 경우는 dataleak라고 합니다.

shki
2022.01.12 13:47

4로 매핑됩니다 생각해보니 누적합 개념이네요 제가 하고자 했던 것이 ㅠㅠㅠㅠ

taegu
2022.01.12 14:00

사실 세현님 아이디어를 저도 생각했습니다. 
딕셔너리만 예측 시 계속해서 저장한다면 시계열문제이기 때문에 실 서비스에서도 사용할 수도 있구요.

하시만 일관성을 위해 이 부분은 dataleak에 해당한다는 dacon 답변을 들었습니다.

화이팅 하세요 ㅜㅜ

shki
2022.01.12 14:47

다들 고려해보셨을 아이디어네요 ㅠㅠㅠㅠㅠ 말씀해주셔서 감사드립니다! 넘사네요 스코어가....ㅋㅋㅋㅋ

taegu
2022.01.12 19:11

현재 저의 리더보드 점수도 dataleak입니다. 
열심히 하시면 좋은 결과 있을 것 같습니다.

jee_p0
2022.01.12 18:24

그렇다면 train과 test셋을 따로 cumcount하는 것도 data leakage에 포함될까요?

taegu
2022.01.12 19:10

그 부분도 test셋의 통계치를 사용하기 때문에 data leakage라고 알고 있습니다.

하나의 샘플이 존재하여도 똑같이 생성할 수 있는 feature라고 생각하면 될 것 같습니다.

jee_p0
2022.01.13 15:13

감사합니다,,,, 제점수도 data leak이네요,,, 더 열심히 해봐야겠습니다