了解 Sklearn 中 Tfidfvectorizer 的矩阵输出

Understanding the matrix output of Tfidfvectorizer in Sklearn

我在解释 Tfidf 向量化器的矩阵输出时遇到问题。

鉴于

vectorizer = TfidfVectorizer(max_df=0.5, max_features=10000,
                         min_df=2, stop_words='english',
                         use_idf=True)


X_train_tfidf = vectorizer.fit_transform(X_train_raw)

如果我要查看 X_train_tfidf 的输出,我是否在查看结构如下的矩阵:

第 1 列对应文档 1,其元素是 10000 个特征的 tfidf 分数,第 2 列对应文档 2...等等?

假设您看到类似这样的输出:

(0, 18)       0.424688479366
(0, 6)        0.424688479366
(0, 4)        0.424688479366
(0, 14)       0.239262081323
(0, 17)       0.202366335916
(0, 5)        0.424688479366
(0, 1)        0.424688479366
(1, 17)       0.184426607226
(1, 8)        0.387039944282
(1, 15)       0.387039944282
(1, 0)        0.387039944282
(1, 2)        0.387039944282
(1, 13)       0.387039944282
(1, 7)        0.387039944282
(1, 11)       0.259205161463
(2, 14)       0.313686744222
(2, 17)       0.530628478217
(2, 9)        0.556791722552
(2, 16)       0.556791722552
(3, 14)       0.346483013718
(3, 17)       0.293053113789
(3, 11)       0.411875926253
(3, 10)       0.61500486583
(3, 3)        0.496182053366
(4, 14)       0.346483013718
(4, 17)       0.293053113789
(4, 11)       0.411875926253
(4, 3)        0.496182053366
(4, 12)       0.61500486583

假设一般形式:(A,B) C

A:文档索引 B:具体词向量索引 C:文档 A 中单词 B 的 TFIDF 得分

这是一个稀疏矩阵。它表示每个文档的词向量中所有非零值的tfidf分数。