Termini principali nei cluster di film
Ora che hai creato una matrice sparsa, genera i centroidi dei cluster e stampa i primi tre termini in ciascun cluster. Usa il metodo .todense() per convertire la matrice sparsa tfidf_matrix in una matrice normale, così che la funzione kmeans() possa elaborarla. Poi usa il metodo .get_feature_names() per ottenere l’elenco dei termini nell’oggetto tfidf_vectorizer. La funzione zip() in Python unisce due liste.
L’oggetto tfidf_vectorizer e la matrice sparsa tfidf_matrix dell’esercizio precedente sono stati mantenuti qui. kmeans è stato importato da SciPy.
Con un numero più elevato di punti dati, i cluster risultano più definiti. Tuttavia, questo richiede una certa potenza di calcolo, rendendo difficile farlo in un esercizio qui.
Questo esercizio fa parte del corso
Analisi di cluster in Python
Istruzioni dell'esercizio
- Genera i centroidi dei cluster tramite la funzione
kmeans(). - Ricava l’elenco dei termini dall’oggetto
tfidf_vectorizer. - Stampa i primi 3 termini di ciascun cluster.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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(____)