작가님 답변 감사드립니다. 하나만 더 질문이 있어서 드립니다 (귀찮게 해드려서 죄송합니다).
위에서 말씀 드린 것처럼 20% 테스트 세트와 80% 훈련 세트(Old)를 만들고 나서,
80% 훈련세트(Old)에서 60% 훈련세트(New), 20% 검증세트를 만들 경우, StandardScaler 클래스를 통해서 60% 훈련세트(New)와 20% 검증세트를 스케일 처리를 할때 아래 옵션 중에 어느 것이 맞나요?
옵션 1
- 80% 훈련세트(Old)로
StandardScaler 클래스를 훈련시킨 후, 학습한 변환기로 80% 훈련세트(Old), 60% 훈련세트(New), 20% 검증세트, 20% 테스트세트를 모두 표준점수로 변환한다.
옵션 2
- 80% 훈련세트(Old)로 StandardScaler 클래스로 만든 객체_1 훈련시킨 후, 학습한 변환기(객체_1)로 80% 훈련세트(Old), 20% 테스트세트를 표준점수로 변환한다.
- 60% 훈련세트(New)로 StandardScaler 클래스로 만든 다른 객체_2를 훈련시킨 후, 학습한 변환기(객체_2)로 80% 훈련세트(Old), 20% 테스트세트를 표준점수로 변환한다.
직접 두 옵션들로 만들어본 결과 차이도 크게 없고, 직관적으로 생각하면 옵션1로 하면 모든 훈련 데이터로 학습하니 괜찮을 것 같긴한데...더 자세히 알아보고 싶어서 문의 드립니다.
또한 옵션 2는 data leaking이 있는게 아닌가 싶기도 하고요. 혹시 어느 옵션이 적절한지 알려주신다면 정말 감사드립니다.