我使用scikit CountVectorizer将文档集合转换为令牌计数矩阵。我还使用了它的max_features,它考虑了语料库中按术语频率排序的前max_features。
现在我想分析我选择的语料库,特别是我想知道所选词汇表中标记的频率。但是我找不到一个简单的方法来做到这一点。所以请在这方面帮助我。
当你调用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()
在@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]