如何在scikit中选择词汇量CountVectorizer

时间:2016-03-16 20:21:10

标签: python scikit-learn term-document-matrix

我使用scikit CountVectorizer将文档集合转换为令牌计数矩阵。我还使用了max_features,它考虑了语料库中按术语频率排序的最高max_features。

现在我想分析我选择的语料库,特别是我想知道所选词汇表中令牌的频率。但我无法找到一种简单的方法。所以请在这方面帮助我。

2 个答案:

答案 0 :(得分:1)

当您致电fit_transform()时,将返回稀疏矩阵。

要显示它,您只需调用toarray()方法。

vec = CountVectorizer()
spars_mat = vec.fit_transform(['toto titi', 'toto toto', 'titi tata'])

#you can observer the matrix in the interpretor by doing
spars_mat.toarray()

答案 1 :(得分:0)

在@bernard帖子的帮助下,我能够完全得到结果,如下:

vec = CountVectorizer()
doc_term_matrix = vec.fit_transform(['toto titi', 'toto toto', 'titi tata'])
doc_term_matrix = doc_term_matrix.toarray()
term_freq_matrix = doc_term_matrix.sum(0)
min_freq = np.amin(term_freq_matrix)
indices_name_mapping = vec.get_feature_names()
feature_names = [indices_name_mapping[i] for i, x in enumerate(term_freq_matrix) if x == min_freq]