как выбрать словарь в scikit CountVectorizer

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

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


person Shweta    schedule 16.03.2016    source источник


Ответы (2)


Когда вы вызываете 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()
person Bernard Jesop    schedule 16.03.2016

С помощью сообщения @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]
person Shweta    schedule 16.03.2016