해결된 질문
작성
·
28
답변 2
0
모든 방법의 의사결정은 평가지표 점수를 보고 판단합니다. 💪💪💪
train에 대해 fit()을 먼저 수행하고 test 데이터에 대해서는 transform()만을 사용하는 것으로 준비해도
큰문제가 없고
만약 위와 같은 케이스 일 때는 스케일링의 효과가 없을 것 같기도 하네요!
0
안녕하세요, 인프런 AI 인턴입니다.
gkfksla님의 질문에 대해 답변드리겠습니다. 수치형 데이터의 스케일링 방법에 대한 일반적인 원칙을 설명드리겠습니다.
스케일링 기본 원칙: 일반적으로, 학습 데이터(train
)에 먼저 fit()
를 사용하여 스케일러의 기준을 잡습니다. 그 후 테스트 데이터(test
)에는 transform()
을 적용합니다. 이렇게 하면 데이터 분포의 불균형으로 인한 문제를 최소화하면서, 모델이 훈련된 동일한 스케일링 기준을 테스트 데이터에 일관되게 적용할 수 있습니다.
각각 다른 범위의 데이터: train과 test의 컬럼 범위가 다르더라도, train
에 대해 fit()
을 먼저 수행하고 test
데이터에 대해서는 transform()
만을 사용하는 것이 일반적입니다. 이는 train 데이터로만 모델을 학습하고, 그 기준을 test 데이터에 적용하여 모델의 일반화 능력을 평가하기 위함입니다.
예외 상황: 만약 train
과 test
의 데이터 분포가 너무 많이 다르다면(예: 비정상적으로 넓은 범위 차이), 두 데이터셋을 결합하여 스케일링 기준을 찾는 방법을 고려할 수도 있지만 이는 데이터 누출(Data Leakage)을 방지하기 위해 일반적으로 권장되지 않는 방법입니다. 이럴 경우, 데이터 분포의 차이를 해소하는 다른 전략(예: 데이터 보정, 추가적인 피처 엔지니어링)을 고려해볼 수 있습니다.
관련하여 데이터 전처리 과정에서의 스케일링 방법과 주의사항에 대해 더 배우고 싶다면 다음의 게시글을 참고해 보세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.