Saya mengubah kumpulan dokumen teks menjadi vektor kata untuk setiap dokumen. Saya sudah mencoba ini menggunakan TfidfVectorizer dan HashingVectorizer
Saya mengerti bahwa a HashingVectorizertidak mempertimbangkan IDFskor seperti halnya a TfidfVectorizer. Alasan saya masih bekerja dengan a HashingVectorizeradalah fleksibilitas yang diberikannya ketika berhadapan dengan dataset besar, seperti yang dijelaskan di sini dan di sini . (Kumpulan data asli saya memiliki 30 juta dokumen)
Saat ini, saya bekerja dengan sampel 45339 dokumen, jadi, saya memiliki kemampuan untuk bekerja dengan TfidfVectorizerjuga. Ketika saya menggunakan kedua vektorizers ini pada dokumen 45339 yang sama, matriks yang saya dapatkan berbeda.
hashing = HashingVectorizer() with LSM('corpus.db')) as corpus: hashing_matrix = hashing.fit_transform(corpus) print(hashing_matrix.shape)bentuk matriks hashing (45339, 1048576)
tfidf = TfidfVectorizer() with LSM('corpus.db')) as corpus: tfidf_matrix = tfidf.fit_transform(corpus) print(tfidf_matrix.shape)bentuk matriks tfidf (45339, 663307)
Saya ingin lebih memahami perbedaan antara a HashingVectorizerdan a TfidfVectorizer, dan alasan mengapa matriks ini berbeda ukuran - terutama dalam jumlah kata / istilah.