K-Means 算法如何选择 k?

如何选择将数据集分为几个cluster?有什么常用的标准吗?

阅读 8.5k
3 个回答

trial and error

k-means cluster number
随便一搜一大堆问题 这种东西设计的数学性太强 一时半伙也说不清楚
另外如果连k都不会估计干嘛用k-means single-pass或者dbscan这种不需要估计k的算法可能更适合你

新手上路,请多包涵

首先,k不是算出来的,更像是试出来的,很多启发式的机器学习算法中所需要的常数往往是这么试出来的.
但还是提供几种方法:

  1. 用不同的k值进行聚类,然后分别计算类内距离均值和类间距离均值之比,选择最小的那个.

  2. 根据先验知识决定k的取值

  3. 对不同k值都产生2次聚类,选择两次聚类结果最相似的k值.(稳定性)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进