시계열데이터
복습
타이타닉 생존자예측_내모델
싸이킷런 fit_transform
fit_transform()
결론부터 말씀드리자면 fit_transform()은 train dataset에서만 사용됩니다
우리가 만든 모델은 train data에 있는 mean과 variance를 학습하게 됩니다
이렇게 학습된 Scaler()의 parameter는 test data를 scale하는데 사용됩니다
다시말해 train data로 학습된 Scaler()의 parameter를 통해 test data의 feature 값들이 스케일 되는 것입니다
transform()
train data로부터 학습된 mean값과 variance값을 test data에 적용하기 위해 transform() 메서드를 사용합니다
왜 test data에서는 fit_transform을 사용하지 않는가?🤔
만약에 fit_transform을 test data에도 적용하게 된다면 test data로부터 새로운 mean값과 variance값을 얻게 되는 것입니다
즉, 우리의 모델이 test data도 학습하게 되는 것입니다
test data는 'Surprise'한 데이터 셋입니다. 그런데 이 데이터마저 학습하게 된다면 우리의 모델이 처음 보는 데이터에 대해서 얼마나 성능이 좋은지 알 수 없게 되는 것입니다
다시 말해, test data는 모델이 학습된 후에 평가할 때만 사용되어야 하는데 fit_transform을 test data에도 하게 된다면 모델의 성능을 평가할 수 없게 되는 것입니다