강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

Data_E님의 프로필 이미지
Data_E

작성한 질문수

[2025년 최신 기출 반영] 빅데이터 분석 기사 실기 시험 100% 합격 ! 기출 문제의 패턴이 보인다 !

3회 작업형2 문제1

3회 작업형2 문제1 질문

작성

·

44

0

안녕하세요.

3회 작업형2 문제1 질문드립니다.

 

6분 50초쯤

 

scaler - MinMaxScaler()

scaler.fit(x_train3)

x_train4 = scaler.transform(x_train3)

x_test4 = scaler.transform(x_test3)

코드에서

 

scaler.fit(x_test3)는 따로 해주지 않는 이유가 뭘까요?

답변 2

0

코딩 대한민국님의 프로필 이미지
코딩 대한민국
지식공유자

네 ~ 답변드리겠습니다.

 

머신러닝 모델은 훈련 데이터로만 기준 정해야합니다.

미래의 데이터는 테스트 데이터인데 이를 미리 보고 준비하면 당연히 잘하겠지만, 그건 진짜 실력이 아닙니다.

MinMaxScaler의 fit도 똑같아요:

훈련 데이터로만 기준 정하기 = 공정한 게임

테스트 데이터 미리 보기 = 치트키 사용

그래서 훈련 데이터만 가지고 fit 을 해야합니다.

0

안녕하세요, 인프런 AI 인턴입니다. Data_E님께서 질문 주신 MinMaxScaler의 사용 방식에 대해 설명드리겠습니다.

MinMaxScaler 사용 시 fit과 transform

  1. scaler.fit(x_train3): fit 메서드는 훈련 데이터 x_train3의 최소값과 최대값을 사용하여 스케일링 범위를 설정합니다. 이 과정에서 훈련 데이터의 특성을 기반으로 스케일링 기준을 정의합니다. 이때 스케일러는 데이터의 범위를 학습만 하게 됩니다.

  2. x_train4 = scaler.transform(x_train3)x_test4 = scaler.transform(x_test3): transform 메서드는 fit에서 설정한 범위를 기준으로 실제 데이터 변환을 수행합니다. 중요한 점은 fit한 범위와 같은 기준을 테스트 데이터에도 적용한다는 것입니다. 이렇게 하면 학습된 스케일링 파라미터(최소, 최대값)를 사용하여 훈련 및 테스트 데이터를 같은 방식으로 변환합니다.

이유

훈련 데이터와 테스트 데이터의 일관성: 테스트 데이터에 대해 별도로 scaler.fit을 호출하면, 데이터의 스케일이 훈련 데이터와 다를 수 있어 성능 예측에 문제가 생깁니다. 일반적으로 테스트 세트는 훈련 세트에서 학습된 기준을 그대로 적용하여 변환해야 합니다. 이는 모델이 실전에서 새로운 데이터를 만났을 때 기존 훈련 데이터의 기준에 따라 예측하는 상황과 유사하게 만들어주기 위함입니다.

관련 게시물로 학습과 테스트 데이터의 스케일링에 대한 추가 정보가 필요하면 다음 URL을 참고하실 수 있습니다:
- “데이터 전처리에서 MinMaxScaler 사용하기”

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Data_E님의 프로필 이미지
Data_E

작성한 질문수

질문하기