해결된 질문
작성
·
232
0
안녕하세요. 강의 22분 부터 Age 결측치를 평균값으로 바꿀때, Test 데이터에 Train데이터에서 구한 그룹별 평균값을 사용하지 않고 Test 데이터를 건드려서 대체하는 이유가 있을까요? 보통 대회에서는 Test 데이터를 건드리면 안되는 걸로 알고있고, 저런식으로 전처리를 하면 Train 데이터와 Test 데이터가 같은 모집단에서 나왔는데, 서로 다른 모집단에서 나왔다고 가정해버리는것 같아서 질문드립니다.
답변 1
0
안녕하세요. 좋은 질문 감사합니다.
우선 기본 원칙은 훈련 데이터와 테스트 데이터를 별개의 데이터로 가정하는 것이 맞습니다. 같은 모집단으로 바라보고 처리하게 되면, 모형 학습 시, Data Leakage에 빠질 가능성이 존재합니다.
또한, train 데이터의 평균값을 test 데이터에 적용하는 방법이 실제 대회에서는 맞습니다. 이 부분은 제가 작업하면서 오류가 있었네요. 수정해서 올리도록 하겠습니다.
관련해서 좋은 디스커션이 있으니 확인 바랍니다. https://www.kaggle.com/c/titanic/discussion/177536