我正在尝试理解以下代码
from sklearn.feature_extraction.text import CountVectorizer
vectorizer = CountVectorizer()
corpus = ['This is the first document.','This is the second second document.','And the third one.','Is this the first document?']
X = vectorizer.fit_transform(corpus)
当我尝试打印 X 以查看将返回什么时,我得到了以下结果:
(0, 1) 1
(0, 2) 1
(0, 6) 1
(0, 3) 1
(0, 8) 1
(1, 5) 2
(1, 1) 1
(1, 6) 1
(1, 3) 1
(1, 8) 1
(2, 4) 1
(2, 7) 1
(2, 0) 1
(2, 6) 1
(3, 1) 1
(3, 2) 1
(3, 6) 1
(3, 3) 1
(3, 8) 1
但是,我不明白这个结果的含义?
最佳答案
您可以将其解释为“(sentence_index, feature_index) count”
因为有 3 句话:从 0 开始,到 2 结束
特征索引是你可以从 vectorizer.vocabulary_ 得到的词索引
-> 词汇_字典 {word:feature_index,...}
所以例如 (0, 1) 1
-> 0 : row[the sentence index]
-> 1 : get feature index(i.e. the word) from vectorizer.vocabulary_[1]
-> 1 : count/tfidf (as you have used a count vectorizer, it will give you count)
而不是计数向量化器,如果你使用 tfidf 向量化器 see here 它会给你 tfidf 值。
我希望我说清楚
关于python - 矢量化器 fit_transform 如何在 sklearn 中工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47898326/