我使用scikit CountVectorizer将文档集合转换为令牌计数矩阵。我还使用了max_features,它考虑了语料库中按术语频率排序的最高max_features。
现在我想分析我选择的语料库,特别是我想知道所选词汇表中令牌的频率。但我无法找到一种简单的方法。所以请在这方面帮助我。
答案 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]