我正在尝试理解以下代码

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/

10-12 19:24