为啥我的文本聚类会这样做
Posted
技术标签:
【中文标题】为啥我的文本聚类会这样做【英文标题】:Why does my text clustering do this为什么我的文本聚类会这样做 【发布时间】:2017-02-09 14:13:30 【问题描述】:我有一个带有产品名称的未标记数据集。比如棒球衫、飞行员夹克、现役经典拳击手等。
我用数据创建了一个 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 将其缩减为二维,以便我可以绘制集群
from sklearn.manifold import MDS
mds = MDS(n_components=2, dissimilarity="precomputed", random_state=1)
xs, ys = pos[:, 0], pos[:, 1]
除了圆周之外,聚类图看起来还不错。它这样做有什么原因吗?其余的集群似乎都聚集在一个相似的区域周围。
【问题讨论】:
【参考方案1】:TF-IDF 仅适用于长文本。
正因为如此,几乎每个文档都完全不同,它们像这样“散开”。
我怀疑 k-means 是否也有效。
【讨论】:
那么这是否意味着那些不在圆周上的不是完全不同的,是长文本? 研究它们,你有数据。我假设这里的大多数文本与任何其他文本完全不同,因此可视化尝试将它们均匀地隔开(“统一”)。要使 TF-IDF 正常工作,您的文本应该有 100 多个单词每个!以上是关于为啥我的文本聚类会这样做的主要内容,如果未能解决你的问题,请参考以下文章