Términos más destacados en clústeres de películas
Ahora que has creado una matriz dispersa, genera los centroides de los clústeres e imprime los tres términos principales de cada clúster. Usa el método .todense() para convertir la matriz dispersa tfidf_matrix en una matriz normal que la función kmeans() pueda procesar. Luego, usa el método .get_feature_names() para obtener una lista de términos del objeto tfidf_vectorizer. La función zip() en Python une dos listas.
El objeto tfidf_vectorizer y la matriz dispersa tfidf_matrix del ejercicio anterior se han conservado aquí. kmeans se ha importado desde SciPy.
Con un mayor número de puntos de datos, los clústeres se definirían con más claridad. Sin embargo, esto requiere cierta potencia de cómputo, por lo que es difícil hacerlo en un ejercicio aquí.
Este ejercicio forma parte del curso
Análisis de clústeres en Python
Instrucciones del ejercicio
- Genera los centros de los clústeres con la función
kmeans(). - Obtén una lista de términos del objeto
tfidf_vectorizer. - Imprime los 3 términos principales de cada clúster.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el 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(____)