为什么我的文本聚类会这样做

时间:2016-09-30 22:34:31

标签: python scikit-learn cluster-analysis k-means tf-idf

我有一个带有产品名称的未标记数据集。例如,棒球衫,飞行员夹克,活跃的经典拳击手等。

我用数据创建了一个tf-idf矩阵然后我在矩阵上运行了k-means。我绘制了一个簇内的平方和,以找到最佳的k,即5。

聚类后,我发现了文档之间的余弦相似性

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

然后我在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

1 个答案:

答案 0 :(得分:2)

TF-IDF仅适用于长文

正因为如此,几乎每个文件都完全不同于彼此,并且他们会散开"像这样。

我怀疑k-means是否有效。