一:原理
K-Means 聚类算法的大致意思就是“物以类聚,人以群分”
(1)首先输入 k 的值,即我们指定希望通过聚类得到 k 个分组;
(2)从数据集中随机选取 k 个数据点作为初始大佬(质心);
(3)对集合中每一个小弟,计算与每一个大佬的距离,离哪个大佬距离近,就跟定哪个大佬。
(4)这时每一个大佬手下都聚集了一票小弟,这时候召开选举大会,每一群选出新的大佬(即通过算法选出新的质心,这里说的算法可以为求每一群的平均值)。
(5)如果新大佬和老大佬之间的距离小于某一个设置的阈值(表示重新计算的质心的位置变化不大,趋于稳定,或者说收敛),可以认为我们进行的聚类已经达到期望的结果,算法终止。
(6)如果新大佬和老大佬距离变化很大,需要迭代3~5步骤。
二:改进Kmeans
站在业务的角度改进Kmeans,会大大提升聚类的效果。以下为改进Kmeans算法步骤,主要针对聚两类的情况
(1)收集正面或反面数据,即二分类的任意一面数据
(2)将收集到的特征数据按需分为需要的n类
(3)通过正面或反面数据中的一种编写Kmeans模型,此时K值为n,我们这里取反面
(4)经过以上步骤就会选取到n个质心,也就是n个簇心点
(5)计算每个簇中,最远的点到簇心的距离,以这个距离为半径画圆,此时就会得到n个圆
(6)模型验证,输入验证数据,计算验证数据是否在n个圆圈中的一个,如果在,则输入数据和模型数据中的数据类型一致,我们这里为反面数据,如果不在,则为正面数据
网友评论