百科问答小站 logo
百科问答小站 font logo



K-means聚类算法中的K如何确定? 第1页

  

user avatar   huangzhe 网友的相关建议: 
      

常用的方法是elbow method(手肘法则)[1]。选不同的k值,例如从1-9,然后画出每一个k值的“距离之和”和k的关系图。

左轴可以是distortion

或者Inertia

distortion和inertia挺接近,都是衡量每个数据和最近中心点的距离之和,只是计算距离的方式不一样而已。

为什么要选个elbow点呢?毕竟在官方文档[2]中,是这么说的

The K-means algorithm aims to choose centroids that minimise the inertia, or within-cluster sum-of-squares criterion:

难道不是error越小越好吗?

理论上是,但你想想什么时候error最小?就是n个数据点分成n个簇。这样做clustering失去了意义。


有时候会出现曲线转折不明显的情况,如下:

这时候除了用放大镜找Elbow,也可以用一些容易计算的方法来找最佳K值。

在文章《Understanding of Internal Clustering Validation Measures》[3],介绍了Clustering的11种选择最佳值的方法。例如下图方法4-11的optimal value不是min就是max,不用再选elbow。

参考

  1. ^Elbow Method for optimal value of k in KMeans https://www.geeksforgeeks.org/elbow-method-for-optimal-value-of-k-in-kmeans/
  2. ^2.3. Clustering¶ https://scikit-learn.org/stable/modules/clustering.html
  3. ^Understanding of Internal Clustering Validation Measures http://datamining.rutgers.edu/publication/internalmeasures.pdf



  

相关话题

  数据挖掘、机器学习、自然语言处理这三者是什么关系?这几个怎么入门啊? 
  有没有根据一张人物的立绘正面像,自动生成同风格各侧面角度像并自动衍生表情的软件啊? 
  resnet(残差网络)的F(x)究竟长什么样子? 
  神经网络中 warmup 策略为什么有效;有什么理论解释么? 
  如何看待 Nervana 被 Intel 收购? 
  Evidential deep learning里一般怎么估计多标签分类的Uncertainty? 
  用 Python 进行数据分析,不懂 Python,求合适的 Python 书籍或资料推荐? 
  如何看待斯坦福博士生2prime陆一平关于新冠起源的一系列言论? 
  数据挖掘与数据分析的主要区别是什么? 
  深度学习应用在哪些领域让你觉得「我去,这也能行!」? 

前一个讨论
机器学习小白来提问:关于联邦学习FedAVG和FedSGD的问题?
下一个讨论
写CUDA到底难在哪?





© 2025-01-31 - tinynew.org. All Rights Reserved.
© 2025-01-31 - tinynew.org. 保留所有权利