在K均值聚类中更新K的值

时间:2018-12-03 15:50:58

标签: cluster-analysis k-means unsupervised-learning

对没有标签且不了解所需簇数的数据集进行聚类的最佳方法是什么?

例如,使用没有标签或不知道标签类别数量的Iris数据集。

我的想法:

  • 计算与每个现有簇的均方根距离
  • *如果均方根距离>某个阈值的系数取决于(惩罚)k,则添加一个“新”候选。
  • *如果添加了新集群,请找到新的“最佳” k + 1个集群中心
  • 如果未添加新集群,请转到下一行

2 个答案:

答案 0 :(得分:2)

您可以按照here

的方法在不同的K值处绘制肘曲线。

具体地说,

  

1)肘方法的思想是在数据集上针对k值范围(例如,在上面的示例中k从1到10)运行k-均值聚类,并为k的每个值计算平方误差总和(SSE)。

     

2)然后,为每个k值绘制SSE的折线图。如果折线图看起来像手臂,那么手臂上的“肘”就是最好的k值

     

3)因此,我们的目标是选择一个仍具有较低SSE的小值k,而弯头通常代表我们通过增加k开始收益递减的地方

答案 1 :(得分:0)

关于如何选择k,已经提出了数十种方法。

某些变量(例如x均值)可以动态调整k,您只需给出最大值-并选择质量标准AIC或BIC。