我想从每个主题中获得前10个单词的频率,在我使用TfidfTransformer之后,我得到:并且类型是scipy.sparse.csr.csr_matrix
但我不知道如何从每个列表中获得前十个,在数据中,(0,*)表示0列表,直到( 5170,*)表示5170列表。
我试着把它转换成numpy,但是失败了。
(0, 19016) 0.024214182003181053
(0, 28002) 0.03661443306612277
(0, 6710) 0.02292100371816788
(0, 27683) 0.013973969726506812
(0, 27104) 0.02236713272585597
(0, 6889) 0.0403281034949193
.
.
.
(5169, 3236) 0.014432449220428715
(5169, 19134) 0.014346823328868169
(5169, 32915) 0.002047199186262409
(5170, 35899) 0.49931779368675605
(5170, 36444) 0.3479717717856863
(5170, 15014) 0.5608169649159123发布于 2018-11-08 00:26:38
您可以使用TfidfVectorizer公开get_feature_names方法。转换器没有这种方法,但是文档清楚地说明了Vectorizer等同于后面跟着转换器的CountVectorizer。如果你不想使用这个,那么我认为你会在矢量化之前先构建一个查找。
文档中的TfidfVectorizer:https://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html
编辑:要对TfidfVectorizer的fit_transform输出进行排序和切片,正常的稀疏矩阵操作应该有效。
https://stackoverflow.com/questions/53193422
复制相似问题