4

我正在关注Scikit learn docs where CountVectorizeris used on some dataset 中的示例。

问题count_vect.vocabulary_.viewitems()列出所有术语及其频率。您如何按出现次数对它们进行排序?

sorted( count_vect.vocabulary_.viewitems() )似乎不起作用。

4

1 回答 1

16

vocabulary_.viewitems()实际上并没有列出术语及其频率,而是从术语到它们的索引的映射。频率(每个文档)由 fit_transform 方法返回,该方法返回一个稀疏(coo)矩阵,其中行是文档,列是单词(列索引通过词汇表映射到单词)。例如,您可以通过以下方式获得总频率

matrix = count_vect.fit_transform(doc_list)
freqs = zip(count_vect.get_feature_names(), matrix.sum(axis=0))    
# sort from largest to smallest
print sorted(freqs, key=lambda x: -x[1])
于 2013-04-29T22:27:12.103 回答