我有一个带有产品名称的未标记数据集。例如,棒球衫,飞行员夹克,活跃的经典拳击手等。
我用数据创建了一个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]
除了圆周外,簇图看起来很不错。这有什么原因吗?其余的集群看起来像是聚集在一个类似的区域。
答案 0 :(得分:2)
TF-IDF仅适用于长文。
正因为如此,几乎每个文件都完全不同于彼此,并且他们会散开"像这样。
我怀疑k-means是否有效。