범주가 다른 컬럼의 스케일링 방법 질문
스케일링도 데이터 프레임별 범위에 따라 fit() 할 프레임을 구분해줘야할까요?
train['a'] 컬럼이 1~100 범위이고
test['a'] 컬럼은 1~200 범위라면
B먼저 fit하고 A는 transform 을 해줘야하나요?
아니면 각각 fit_transform 해야할까요?
범주형 컬럼 인코딩의 경우를 생각해보니 문득 위와 같은 상황에서 어떻게 해야하는지 궁금하네요.
답변 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)을 방지하기 위해 일반적으로 권장되지 않는 방법입니다. 이럴 경우, 데이터 분포의 차이를 해소하는 다른 전략(예: 데이터 보정, 추가적인 피처 엔지니어링)을 고려해볼 수 있습니다.
관련하여 데이터 전처리 과정에서의 스케일링 방법과 주의사항에 대해 더 배우고 싶다면 다음의 게시글을 참고해 보세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
1유형 강의 다 나간 후 어떻게 할까요?
0
14
1
점수차가 많이 나는데 따로 하신게 있으신가요?
0
10
1
작업형1 모의문제 4번에 3)문제 질문
0
21
2
이상치 전처리 작업
0
25
2
평가결과값 문의
0
29
2
시계열 데이터 날짜와 시간 format
0
35
2
평가지표 F1 스코어 질문드립니다.
0
27
2
작업형 2 기출7회분에서
0
38
2
작업형2 모의문제1 (30강)
0
34
2
수강 기간 연장 문의 드립니다.
0
42
2
수강 계획과 관련해 문의 드립니다.
0
30
2
작업형1 - 연습문제 16~39 풀이는 몇강을 보면 되나요?
0
50
2
작업형 1 -연습문제 4-6
0
38
2
작업형 1 유형 부분
0
42
2
작업형 1 (삭제예정, 구 버전)
0
51
2
수강기간 연장 문의드립니다.
0
38
2
2유형 레이블 인코딩 VS 원핫 인코딩
0
37
3
수강기간 연장 문의드립니다.
0
44
2
인덱스 슬라이싱
0
37
2
질문 드립니다.
0
50
2
강의 내용 관련 질문드립니다~
0
46
2
수강 연장 문의
0
63
2
강의자료 일괄 다운로드
0
62
2
수강기간 연장 문의드립니다
0
48
2





