Estoy siguiendo el ejemplo en Scikit learn docs donde se usa CountVectorizer
en algunos conjuntos de datos.
Pregunta : count_vect.vocabulary_.viewitems()
enumera todos los términos y sus frecuencias. ¿Cómo los clasificas por el número de ocurrencias?
sorted( count_vect.vocabulary_.viewitems() )
no parece funcionar.
vocabulary_.viewitems()
de hecho no enumera los términos y sus frecuencias, sino que es un mapeo de los términos a sus índices. Las frecuencias (por documento) son devueltas por el método fit_transform, que devuelve una matriz dispersa (coo), donde las filas son documentos y columnas de las palabras (con índices de columnas asignados a las palabras a través de vocabulary_). Puede obtener las frecuencias totales, por ejemplo, por
matrix = count_vect.fit_transform(doc_list) freqs = zip(count_vect.get_feature_names(), matrix.sum(axis=0)) # sort from largest to smallest print sorted(freqs, key=lambda x: -x[1])