了解Sklearn中Tfidfvectorizer的矩阵输出

Red*_*ift 4 python matrix tf-idf scikit-learn

我在解释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)
Run Code Online (Sandbox Code Playgroud)

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

第1列对应于文档1,其中元素是10000个特征的tfidf分数,第2列对应于文档2 ......依此类推?

小智 8

假设您看到类似于此的输出:

(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
Run Code Online (Sandbox Code Playgroud)

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

A:文档索引B:特定单词 - 向量索引C:文档A中单词B的TFIDF分数

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