前文推荐html
KMeans算法是典型的基于距离的聚类算法,采用距离做为类似性的评价指标,即认为两个对象的距离越近,其类似度就越大。该算法认为簇是由距离靠近的对象组成的,所以把获得紧凑且独立的簇做为最终目标。github
K个初始聚类中心点的选取对聚类结果具备较大的影响,由于在该算法第一步中是随机地选取任意k个对象做为初始聚类中心,初始地表明一个簇。该算法在每次迭代中对数据集中剩余的每一个对象,根据其与各个簇中心的距离赋给最近的簇。当考查完全部数据对象后,一次迭代运算完成,新的聚类中心被计算出来。算法
算法过程以下:(1)从N个数据文档(样本)随机选取K个数据文档做为质心(聚类中心)。本文在聚类中心初始化实现过程当中采起在样本空间范围内随机生成K个聚类中心。(2)对每一个数据文档测量其到每一个质心的距离,并把它归到最近的质心的类。(3)从新计算已经获得的各个类的质心。(4)迭代(2)~(3步直至新的质心与原质心相等或小于指定阈值,算法结束。dom
参考:3d
https://github.com/MLEveryday/100-Days-Of-ML-Codehttps://www.cnblogs.com/eczhou/p/7860424.htmlhttp://www.avikjain.mecdn