2
ハッシュベクトライザーとtfidfベクトライザーの違いは何ですか
テキストドキュメントのコーパスを各ドキュメントの単語ベクトルに変換しています。私が使用してこれを試してみたTfidfVectorizerとHashingVectorizerを a HashingVectorizerはIDFaのようにスコアを考慮しないことを理解してTfidfVectorizerいます。こことここでHashingVectorizer説明されているように、私がまだaを使用している理由は、巨大なデータセットを処理する際の柔軟性です。(私の元のデータセットには3000万のドキュメントがあります) 現在、私は45339のドキュメントのサンプルを使用しているので、aを使用することTfidfVectorizerもできます。同じ45339ドキュメントでこれら2つのベクトライザーを使用すると、取得する行列が異なります。 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、およびこれらの行列のサイズが異なる理由、特に語句/用語の数がよくわかります。