Topptermer i filmkluster
Nu när du har skapat en gles matris ska du generera klustercenter och skriva ut de tre viktigaste termerna i varje kluster. Använd metoden .todense() för att konvertera den glesa matrisen tfidf_matrix till en vanlig matris, så att funktionen kmeans() kan bearbeta den. Använd sedan metoden .get_feature_names() för att hämta en lista med termer från objektet tfidf_vectorizer. Funktionen zip() i Python kombinerar två listor.
Objektet tfidf_vectorizer och den glesa matrisen tfidf_matrix från föregående övning finns kvar i den här övningen. kmeans har importerats från SciPy.
Med fler datapunkter skulle de bildade klustren vara tydligare definierade. Det kräver dock mer beräkningskraft, vilket gör det svårt att genomföra i en övning här.
Den här övningen är en del av kursen
Klusteranalys i Python
Övningsinstruktioner
- Generera klustercenter med hjälp av funktionen
kmeans(). - Generera en lista med termer från objektet
tfidf_vectorizer. - Skriv ut de 3 viktigaste termerna i varje kluster.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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(____)