2016-03-16 1 views
0

Я использовал scikit CountVectorizer для преобразования коллекции документов в матрицу количества токенов. Я также использовал его max_features, который учитывает верхние max_features, упорядоченные по срочной частоте по корпусу.Как подобрать словарный запас в scikit CountVectorizer

Теперь я хочу проанализировать свой выбранный корпус, особенно хочу знать частоту токенов в выбранной лексике. Но я не могу найти простой способ сделать это. Так любезно помогите мне в этом отношении.

ответ

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] 
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() 

 Смежные вопросы

  • Нет связанных вопросов^_^