inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[개정판] 파이썬 머신러닝 완벽 가이드

Scaler 관련 질문

해결된 질문

188

강주형

작성한 질문수 3

0

선생님 안녕하세요! 머신러닝 강의 잘 따라가고 있습니다.

스케일링 관련해서 궁금증이 생겨서 문의 드립니다.

 

일반적으로 train 데이터에 대해서 fit을 해서 그 train 데이터에 대한 정보를 가지고 train/val/test 각각 tranform을 하는 것으로 알고 있습니다.

그런데 여기서 MinMax를 예로 들었을 때

train의 Max보다 큰 값이나 Min보다 작은 값이 test 데이터에 있는 경우도 있을 거란 생각이 들더라구요.

 

그래서 직접 그런 상황을 가정해서 코드를 돌려봤는데 기존에 설정한 범위인 0~1이나 -1~1을 벗어난 값으로 반환이 됐습니다.

생각해보면 당연한 결과이긴 한데, 이렇게 반환이 되어도 모델로 예측을 할 때 문제가 발생하지 않는지가 궁금합니다.

 

감사합니다.

Scaler 통계 머신러닝 배워볼래요? python

답변 1

0

권 철민

안녕하십니까, 

네, 테스트 데이터에서 그렇게 반환이 되는 게 맞습니다. 

가령 예를 들어 학습데이터의 특정 피처가 최대값이 100이라고 하겠습니다. 

그리고 이를 MinMaxScaler로 변환하여 100값이 1 로 변환이 되었습니다. 

이때 테스트 데이터의 해당 피처의 최대값이 200인 경우에 해당 값은 2로 변환이 되어야 합니다. 해당 값이 1로 변환이 되면 잘못 변환 된 것 입니다. 즉 100-> 1로 변환했기 때문에 200은 2로 변환이 되어야 합니다. 

때문에 테스트 데이터에서 MinMaxScaler의 fit()이나 fit_transform()을 호출하면 안됩니다. fit_transform()을 테스트 데이터에 적용하면 200이 1로 변환되기 때문입니다. 

그래서 학습데이터로 fit()된 Scaler객체를 이용하여 테스트 데이터를 transform()호출해야 200이 2로 변환이 됩니다.

 

감사합니다.   

0

강주형

항상 감사합니다

모델 서빙과 관련된 강좌가 출시되는지 질문드립니다.

0

56

2

안녕하세요 열심히 수강중인 학생입니다

0

93

2

정수 인덱싱

0

86

2

넘파이 오류

0

115

2

11강 numpy의 axis 축 질문 드립니다.

0

109

2

Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.

0

97

2

Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.

0

81

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

83

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

75

2

5강 강의 오류가 있어요.

0

90

1

실무에서 LTV 관련 모델 선택 질문입니다!

0

81

2

14강 강의 듣는중에 궁금한게 있어서 질문합니다~

0

79

3

파이썬 다운그레이 후 사이킷런 재설치

0

131

2

좋은 강의 감사합니다.

0

81

2

scoring 함수 음수값

0

75

2

6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?

0

108

2

분류 평가 정확도 예측

0

90

2

안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.

0

114

1

카카오톡 채널 있나요

0

119

1

혹시 강의에서 사용하시는 ppt 받을 수 있는건가요

0

195

2

pca 스케일링 관련하여 질문드립니다.

0

109

2

주피터 대신 구글 코랩

0

184

2

강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?

0

156

2

실루엣 스코어..

0

93

2