David의 개발 이야기!

데이터 전처리 fit, fit_transform, transform의 개념 익히기! 본문

Udemy Python Machine Learning A-Z

데이터 전처리 fit, fit_transform, transform의 개념 익히기!

david.kim2028 2022. 9. 9. 17:49
반응형

fit() -> "훈련해라", "머신러닝이 데이터에 머신러닝 모델을 맞추는 것(fit)"

  1. 학습데이터 세트에서 변환을 위한 기반 설정을 하는 함수이다! 
  2. 데이터를 학습시키는 메서드라고 생각하면 된다.

transform() -> fit 을 기준으로 얻은 mean, variance에 맞춰서 변형하는것! 

1. fit을 통해 세운 기반으로 변형하는 함수! 

2. 실제로 학습시킨 것을 적용하는 메서드라고 생각하면 된다! 

 

fit_transform()

이건 그냥 두개 합쳐 놓은 것이라 생각하면 됨! 

 

그렇다면 

 

왜 train dataset에서만 fit_transform 혹은 fit, transform을 할까? 

from sklearn.preprocessing import StandardScaler
sc = StandardScaler()

x_train[:, 3:] = sc.fit_transform(x_train[:, 3:])
x_test[:, 3:] = sc.transform(x_test[:, 3:])

그 이유는 test set에도 fit을 해버리면 sclaer가 기존에 학습 데이터에 fit한 기준을 다 무시하고 테스트 데이터에 새로운 mean, variance값을 얻으면서 테스트 데이터까지 학습해버린다.

 

테스트 데이터는 검증을 위해 남겨둔 셋이기 때문에 반드시 주의해야 한다!!

 

반응형
Comments