텍스트 문서 모음을 각 문서의 단어 벡터로 변환하고 있습니다. 내가 사용이 시도했습니다 TfidfVectorizer 과 HashingVectorizer을
나는 a 처럼 점수 HashingVectorizer
를 고려하지 않는다는 것을 이해합니다 . 내가 아직도 일하고있는 이유 는 here 및 here 설명 된 것처럼 거대한 데이터 세트를 처리하는 동안 제공하는 유연성 때문 입니다. (내 원래 데이터 세트에는 3 천만 개의 문서가 있습니다)IDF
TfidfVectorizer
HashingVectorizer
현재 45339 개의 문서 샘플을 사용하고 있으므로 작업 할 TfidfVectorizer
수도 있습니다. 동일한 45339 문서에서이 두 벡터 라이저를 사용하면 얻을 수있는 행렬이 다릅니다.
hashing = HashingVectorizer() with LSM('corpus.db')) as corpus: hashing_matrix = hashing.fit_transform(corpus) print(hashing_matrix.shape)
해싱 행렬 모양 (45339, 1048576)
tfidf = TfidfVectorizer() with LSM('corpus.db')) as corpus: tfidf_matrix = tfidf.fit_transform(corpus) print(tfidf_matrix.shape)
tfidf 행렬 모양 (45339, 663307)
a HashingVectorizer
와 a 의 차이점 과 TfidfVectorizer
이러한 행렬의 크기가 다른 이유, 특히 단어 / 용어 수에 대해 더 잘 이해하고 싶습니다 .