sklearn에서 fit_transform()과 transform()의 차이

class sklearn.preprocessing.StandardScaler(copy=True, with_mean=True, with_std=True)에 있는 fit_transform() 메소드는 말 그대로 fit()한 다음에 transform() 하는 것입니다. 여기서 fit()이란 정규화 즉, 통계에서 정규분포를 만들게 하기 위해서 𝑥 값에서 평균을 빼고 그 값을 다시 표준편차로 나누어주는 작업을 하는데 이 작업을 하기 위해 평균 𝜇과  표준편차 𝜎를 계산하는 작업이 fit() 이고, transform()은 정규화 작업을 해주는 것입니다. (𝑥-𝜇)/𝜎 ==> 새로운 𝑥 생기는 것이죠

트레이닝 데이터에 대해서 fit 작업과 transform 작업을 적용해주는 것이 fit_transform이고 여기서 계산된 평균 𝜇과  표준편차 𝜎를 동일하게 테스트 데이터에 적용해서 정규화 작업을 해주는 경우는 transform()만 적용합니다.  테스트 세트에도 트레이닝 데이터에 적용되었던 동일한 평균과 표준편차를 적용하기 위해서 이전에 fit_transform()에서 계산된 값들이 저장된 상태에서 transform()에 적용되는 것입니다.

아래 출처를 따라가 보시면 fit_transform의 파라미터들을 자세히 살펴보실 수 있습니다.

https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html#sklearn.preprocessing.StandardScaler.fit_transform

 

 

One thought on “sklearn에서 fit_transform()과 transform()의 차이”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s