2

我需要对一个主要包含零值的矩阵进行聚类……K-means 是否适合这类数据,或者我是否需要考虑不同的算法?

4

2 回答 2

3

不,原因是均值在稀疏数据上不合理。由此产生的平均向量将具有与您的实际数据非常不同的特征;它们通常最终会比实际文档更相似!

有一些修改可以改进稀疏数据的 k-means,例如球形k-means。

但在很大程度上,此类数据的 k-means 只是一种粗略的启发式方法。结果并非完全没有用,但它们也不是你能做到的最好的。它有效,但偶然,而不是设计。

于 2013-08-05T22:08:46.657 回答
1

k -means 广泛用于聚类稀疏数据,例如文档术语向量,所以我想说继续。当然,您能否获得好的结果取决于数据和您正在寻找的内容。

有几件事情要记住:

  • 如果您的数据非常稀疏,那么输入的稀疏表示可以将内存使用量和运行时间减少多个数量级,因此请选择一个好的k均值实现。
  • 欧几里得距离并不总是稀疏向量的最佳度量,但将它们归一化为单位长度可能会产生更好的结果。
  • 无论输入稀疏性如何,聚类质心都很可能会很密集,因此不要使用太多特征。
  • 对样本进行降维,例如 SVD,可以大大提高运行时间和聚类质量。
于 2013-08-05T16:31:31.457 回答