2016-09-30 81 views
2

我有一個包含產品名稱的未標記數據集。例如,棒球衫,夾克衫,活躍的經典拳擊手等。爲什麼我的文本集羣會執行此操作

我創建了一個tf-idf矩陣與數據,然後我在矩陣上運行k-means。我繪製平方的內羣集總和以發現是5

聚類後我想出文件

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

之間的餘弦相似性的最佳10k,則我用DIST MDS將其降低到2尺寸以便我可以繪製羣集

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

羣集圖除了圓周外看起來還不錯。它有這樣做的原因嗎?其餘的集羣看起來像是圍繞着一個類似的區域聚集在一起。

enter image description here

回答

2

TF-IDF只適用於長文本

正因爲如此,幾乎每一份文件都完全不同於其他文件,而且它們也像這樣「扇出」。

我懷疑k-means是否有效。

+0

那麼這是否意味着不在周圍的那些不是完全不同的並且是長文本? –

+0

研究他們,你有數據。我假設**這裏的大多數文本與*任何其他文本**完全不同,因此可視化嘗試將它們均勻分隔(「統一」)。爲了TF-IDF的好起來,你的文本應該有100多個單詞*每個*! –

相關問題