범주가 다른 컬럼의 스케일링 방법 질문
스케일링도 데이터 프레임별 범위에 따라 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)을 방지하기 위해 일반적으로 권장되지 않는 방법입니다. 이럴 경우, 데이터 분포의 차이를 해소하는 다른 전략(예: 데이터 보정, 추가적인 피처 엔지니어링)을 고려해볼 수 있습니다.
관련하여 데이터 전처리 과정에서의 스케일링 방법과 주의사항에 대해 더 배우고 싶다면 다음의 게시글을 참고해 보세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
뒤로가기 버튼 같은 것이 있나요?
0
28
1
강의 연장 문의
0
32
1
출력값 질문
0
31
2
수업노트가 어디에 있나요?
0
29
1
실기시험 제출관련
0
160
2
6.20 작업형 2 과적합
0
169
3
코딩팡 장업형2 베이스 라인 인코딩 종류 질문
0
52
2
로지스틱회귀, 회귀
0
52
2
회귀 문제를 풀때 질문입니다.
0
59
1
불균형 처리 후 성능이 더 낮아졌다면,
0
66
2
실기 체험 제2유형 에러 문의
0
66
1
LIGHTGBM 으로 하면 pred값이 소수점 6자리까지 나오는게 맞나요
0
52
2
3번문제 등분산 가정
0
50
2
작업형3 target 형 변환 질문
0
38
2
[작업형1] 연습문제 섹션1 ~ 10 의 section4
0
40
3
원핫인코딩과 레이블 인코딩에서 concat
0
62
2
제2유형 질문입니다.
0
49
2
C()
0
44
2
작업형 2에서 strafity 적용 유무
0
53
2
수강 기간 연장 가능 여부 문의드립니다.
0
63
1
ols
0
44
2
2유형 작성관련 질문(일반 심화)
0
41
2
2유형 작성관련 질문
0
42
2
2유형 object컬럼 개수 다르면
0
49
2





