Términos principales en grupos de películas
Ahora que has creado una matriz dispersa, genera centros de conglomerados e imprime los tres términos principales de cada conglomerado. Utiliza el método .todense()
para convertir la matriz dispersa, tfidf_matrix
, en una matriz normal para que la procese la función kmeans()
. A continuación, utiliza el método .get_feature_names()
para obtener una lista de términos en el objeto tfidf_vectorizer
. La función zip()
de Python une dos listas.
El objeto tfidf_vectorizer
y la matriz dispersa, tfidf_matrix
, del anterior se han conservado en este ejercicio. kmeans
se ha importado de SciPy.
Con un mayor número de puntos de datos, los conglomerados formados se definirían con mayor claridad. Sin embargo, esto requiere cierta potencia de cálculo, por lo que es difícil de realizar en un ejercicio como éste.
Este ejercicio forma parte del curso
Análisis de conglomerados en Python
Instrucciones de ejercicio
- Genera los centros de los conglomerados mediante la función
kmeans()
. - Genera una lista de términos a partir del objeto
tfidf_vectorizer
. - Imprime los 3 términos principales de cada grupo.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
num_clusters = 2
# Generate cluster centers through the kmeans function
cluster_centers, distortion = ____
# Generate terms from the tfidf_vectorizer object
terms = tfidf_vectorizer.____()
for i in range(num_clusters):
# Sort the terms and print top 3 terms
center_terms = dict(zip(____, ____))
sorted_terms = sorted(____, key=center_terms.get, reverse=True)
print(____)