◼︎ fit(), transform()과 fit_transform()
사이킷런에서 단어를 학습할 때는 fit(), transform()과 fit_transform() 메서드를 사용한다.
• fit(): 문서에 있는 모든 토큰의 단어 사전을 학습
• transform(): 문서를 단어와 문서 행렬로 변환. transform() 이후에는 행렬로 변환되어 숫자 형태로 변경
• fit_transform(): 학습과 변환을 한 번에. 그러나 fit_transform()은 학습 데이터에만 사용하고 시험(테스트) 데이터에는 사용할 수 없음
표 4-1 | fit(), transform()과 fit_transform() 비교
|
fit(), transform() |
fit_transform() |
학습 세트 |
fit()과 transform()을 각각 사용 |
fit_transform() 메서드로 사용 |
시험 세트 |
transform() |
transform() |
비고 |
fit()을 통해 단어 사전을 학습하고 transform()으로 변환 |
학습과 변환을 한 번에 해 준다는 장점이 있지만, 같은 이유로 시험 데이터 세트에는 사용할 수 없고 학습 데이터 세트에만 사용해야 한다. 학습과 변환을 한꺼번에 해서 시험 데이터를 평가한다면 시험 데이터를 학습한 후에 다시 테스트하는 일종의 시험지 미리 보기 같은 결과를 가져오기 때문이다. |