美文网首页
如何确定kmeans算法的k值

如何确定kmeans算法的k值

作者: TyrionWang | 来源:发表于2018-04-23 23:22 被阅读2724次

    问题的提出:

    Kmeans算法中,K值所决定的是在该聚类算法中,所要分配聚类的簇的多少。Kmeans算法对初始值是比较敏感的,对于同样的k值,选取的点不同,会影响算法的聚类效果和迭代的次数。

    1. 最常用最简单的方法可视化数据,然后观察出聚类聚成几类比较合适
    2. 绘制出k-average with cluster distance to centroid的图表,观察随着k值的增加,曲线的下降情况,当曲线不再“急剧”下降时,就是合适的k值
    3. 计算不同k值下kmeans算法的BIC和AIC值,BIC或AIC值越小,选择该k值
    4. 使用 Canopy算法先进行粗略的聚类,产生的簇的个数,作为kmeans算法的k值
    5. 使用x-means方法结合BIC准则去判定簇的个数,也就是k值
    6. 使用Gap Statistic公式来确定k值
    7. 使用轮廓系数(silhouette coefficient)来确定,选择使系数较大所对应的k值
    8. 使用交叉验证来确定使目标函数(距中心的距离的平方差)变小的k值
    9. 利用Affinity propagation的方法估计最优的聚类数目,进一步进行kmeans的算法
    10. 利用层次聚类,可视化后认为地观察认定可聚为几类,确定k值
    11. .....
    参考文献

    xmeans简介
    How can we choose a "good" K for K-means clustering?
    How do I determine k when using k-means clustering?
    Gap Statistic 间隔统计量
    Silhouette (clustering)
    轮廓系数(Silhouette Coefficient )
    究竟应该聚多少类?聚类分析

    相关文章

      网友评论

          本文标题:如何确定kmeans算法的k值

          本文链接:https://www.haomeiwen.com/subject/udtxlftx.html