2016-09-30 2 views
2

Ich habe ein unbeschriftetes Dataset mit Produktnamen. Zum Beispiel, Baseball-Shirt, Bomberjacke, aktive klassische Boxer, etc.Warum tut mein Text-Clustering das

Ich erstellte eine TF-IDF-Matrix mit den Daten, dann lief ich k-Mittel auf der Matrix. I aufgetragen, um eine in-Cluster Summe der Quadrate der besten k zu finden, die 5.

Nach Clustering ist ich die Cosinus Ähnlichkeit zwischen Dokumenten

# cosine similarity between each document 
from sklearn.metrics.pairwise import cosine_similarity 
dist = 1.0 - cosine_similarity(tfidf_matrix) 
print dist 

Dann habe ich MDS auf dist heraus es auf 2 zu reduzieren Dimensionen, so kann ich die Cluster plotten

from sklearn.manifold import MDS 
mds = MDS(n_components=2, dissimilarity="precomputed", random_state=1) 
xs, ys = pos[:, 0], pos[:, 1] 

der Cluster Plot mit Ausnahme der Umfang ziemlich gut aussieht. Gibt es einen Grund, warum es das tut? Der Rest der Cluster scheint sich um einen ähnlichen Bereich zu gruppieren.

enter image description here

Antwort

2

TF-IDF funktioniert nur für Langtext.

Aus diesem Grund ist fast jedes Dokument völlig anders als alle anderen und sie "fächern" sich so auf.

Ich bezweifle, dass K-Means entweder funktioniert.

+0

Also heißt das, dass die, die nicht rund um den Umfang sind, nicht ganz verschieden sind und lange Texte sind? –

+0

Studieren Sie sie, Sie haben die Daten. Ich nehme an, dass ** die meisten Texte hier nur ganz anders sind als * jeder * andere Text **, also versucht die Visualisierung, sie gleichmäßig zu verteilen ("uniform"). Damit TF-IDF gut woken, sollten Ihre Texte 100+ Wörter * pro * haben! –