작성
·
43
·
수정됨
0
정규화 할때
1번
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
x_train2 = scaler.fit_transform(x_train)
x_test2 = scaler.fit_transform(x_test)
2번
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
scaler.fit(x_train)
x_train2 = scaler.transform(x_train)
x_test2 = scaler.transform(x_test)
풀이방식이 1번 2번 둘다 상관 없을 까요 아니면 어떤게 맞는 풀이 일까요?ㅜㅜ
9회 풀이를 보면 표준화는 1번처럼 풀이 됬고
나머지 기출은 2번 처럼 풀이가 됬는데 둘다 해보니 값이 달라서 질문드립니다.
아니면 min_max정규화 standard 표준화 풀이가 다른 것인지도 궁금합니다.
답변 2
0
0
네, 답변드립니다.
첫 번째 방법은 데이터 누수 문제가 있습니다.
fit_transform(x_train)과 fit_transform(x_test)를 각각 실행하면 훈련 데이터와 테스트 데이터가 서로 다른 스케일링 기준으로 변환됩니다.
이는 모델 성능을 부정확하게 평가하게 만듭니다.
두 번째 방법이 올바른 방법입니다:
오직 훈련 데이터로만 스케일링 기준을 학습합니다 (fit)
같은 기준으로 훈련 데이터와 테스트 데이터를 모두 변환합니다 (transform)
반드시 두 번째 방법을 사용하세요. 훈련 데이터로만 스케일러를 학습하고, 같은 스케일러로
모든 데이터를 변환해야 합니다.
네 ~ 2번 방법이 맞습니다. 이 영상은 수정해두겠습니다.
꼭 2번으로 외워주세요.
감사합니다.