fit( ) vs transform( ) vs fit_transform( )
1. fit( )
: "훈련하라"
- 머신러닝이 데이터에 머신러닝 모델을 fit(맞추는) 하는 것
- 학습데이터 세트에서 변환을 위한 기반을 설정하는 함수
- 데이터를 학습시키는 메서드
2. transform( )
: "mean, variance에 맞춰 데이터를 변형"
- fit 단계를 통해 세운 기반으로 실제 변환
- 실제로 학습시킨 것을 적용하는 메서드
3. fit_transform( )
: "fit + transform"
- 학습을 위한 준비(기반 설정)과 실제 학습 적용(변형)을 함께 수행
- train 데이터에서 스케일링된 데이터를 기반으로 Classifier가 학습되었기 때문에, 학습된 Classifier가 예측할 때에도 tran 데이터의 스케일링 기준으로 test 데이터를 변환한 뒤 predict해야 함
test set에는 fit_transform(또는 fit과 transform)을 적용하지 않음
- 이유: test set에 fit 적용 시, 스케일러가 기존 학습 데이터에 fit한 기준을 모두 무시하고 새로운 mean, variance 값을 얻어 학습시킴
- 그러나 test set은 '검증'을 위해 남겨둔 데이터이므로 변형되지 않도록 주의해야 함
참고