더북(TheBook)

결괏값을 보면 4x9의 희소 행렬(sparse matrix, 행렬의 값이 대부분 '0'인 행렬)이 출력(Out)됐음을 알 수 있다. 필수는 아니지만 더 간단히 작업하고 싶다면 fit_transform()을 사용해 효율적으로 구현할 수도 있다. 이때는 fit_transform()으로 단어 사전을 학습하고 단어와 문서 행렬을 반환하는데 앞에서 설명한 것처럼 fit 다음에 변환이 오는 것과 동일하지만 더 효율적으로 구현된다.

dtm = cvect.fit_transform(corpus)
dtm

실행 결과

<4x9 sparse matrix of type '<class 'numpy.int64'>'
 with 14 stored elements in Compressed Sparse Row format>

 

결과를 보면 fit(), transform()fit_transform()은 코드는 달라도 같은 크기의 행렬을 생성한다.

단어 행렬을 생성했다면 vocabulary_를 통해 단어 사전을 볼 수 있다. 이때 단어 사전 딕셔너리 안의 숫자 값에는 순차 정렬된 순서의 단어 번호가 들어 있다. 사이킷런 버전에 따라 조금 다르게 출력될 수 있지만 인덱스 번호가 단어를 순차 정렬한 순서 값이라는 점은 동일하다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.