算法流程:
1,选择聚类的个数K.
2,任意产生K个聚类,然后确定聚类中心,或者直接生成K个中心。
3,对每个点确定其聚类新中心。
4,再计算其聚类新中心。
5.重复以上步骤直到满足收敛要求。(通常就是确定的中心点不再改变。)
K-means:
事先确定常数K,常数K意味着最终的聚类类别数,首先随机选定初始点为质心,并通过计算每一个样本与质心之间的相似度(这里为欧式距离),将样本点归到最相似的类中,接着,重新计算每个类别的质心(极为类中心),重复这样的过程,直到质心不再改变,最终就确定 了每个样本所属的类别以及每个类的质心。由于每次都要计算所有的样本与每一个质心之间的相似度,故在大规模的数据集上,K-means算法的收敛速度比较慢。
2,算法效果的衡量标准
K值 确定
就是“肘”方法:
(1)对于n个点的数据集,迭代计算k from 1 to n,每次聚类完成后计算每个点到其所属的簇中心的距离的平方和;
(2)平方和是会逐渐变小的,直到k==n时平方和为0,因为每个点都是它所在的簇中心本身。
(3)在这个平方和变化过程中,会出现一个拐点,也即是“肘”点,下降突然变缓时即认为是最佳的K值。
在增加分类无法带来更多回报时,我们停止增加类别。
s=1时 说明分正确了;
s=-1时 说明分错误了;
s=0时 模棱两可 不好也不坏;
版权声明:本文为ligangminglove原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。