当使用k-均值聚类时,如何确定k?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (38)

你如何选择k的值。这只是一个试错的问题,还是还有更多的问题呢?

提问于
用户回答回答于

可以最大限度地使用贝叶斯信息准则(BIC):

BIC(C | X) = L(X | C) - (p / 2) * log n

何地L(X | C)是数据集的日志可能性。X按模型Cp是模型中的参数数。C,和n数据集中的点数。

另一种方法是从k并继续删除质心(约k),直到它不再减少描述长度。

最后,可以从一个集群开始,然后继续拆分集群,直到分配给每个集群的点具有高斯分布为止。

用户回答回答于

基本上,希望在两个变量之间找到一个平衡:集群的数量k和集群的平均方差。想要最小化前者,同时也要最小化后者。当然,随着簇数的增加,平均方差也会减少(直到k=n和方差=0)。

在数据分析中,没有一种真正的方法在所有情况下都比所有其他方法工作得更好。最后,你必须用自己最好的判断。为此,它有助于根据平均方差绘制集群的数目,然后你就可以使用曲线膝上的簇数了。

扫码关注云+社区