c2c网站特点,留学网站建设文案,WordPress注册验证修改注册,主页免费下载这几天在一个项目上需要用到K均值聚类算法#xff0c;以前都是直接利用百度老师copy一个Kmeans算法代码#xff0c;这次想自己利用已知的算法思想编写一下#xff0c;编写才知道#xff0c;虽然熟悉了算法思想#xff0c;真正实现时#xff0c;还是遇到不少bug#xff0…这几天在一个项目上需要用到K均值聚类算法以前都是直接利用百度老师copy一个Kmeans算法代码这次想自己利用已知的算法思想编写一下编写才知道虽然熟悉了算法思想真正实现时还是遇到不少bug这就是小学老师说的眼高手低还是需要亲自动手实现一下才算真正的掌握思想。 回顾一下Kmeas算法思想将若干元素聚为k类使之每一类内的元素相似度较高类间的元素相似度较低达到将若干元素划分的目的具体如下 1.初始化质心初始化质心有多种初始化方法我熟知的有两种随机选择k个元素作为k个初始质心利用最大最小原则初始化质心。 前者简单不做解释重点解释一下后者最大最小 这里两个元素距离较近认为是相似的距离较远相似度低 1第一个质心是随机选取的这里用随机数作为第一个质心 2第二个质心的选择选取剩下的元素到第一个质心的相似度的最小值作为第二个质心通俗理解是找一个距离第一个质心最远的元素 3第三个质心的选择找一个距离第一个第二个质心最远的元素剩下的元素到第一个第二个质心的相似度max(sim(元素第一个质心)sim(元素第二个质心))然后minmax(sim(元素第一个质心)sim(元素第二个质心))这就是最大最小的具体体现。 4剩下的质心选择同3 2.在确定了K个初始质心之后然后对剩下的n-k个元素划分到距离最近的质心中这样每个簇中就多于1个元素 3.更新每一个簇中的质心 4.求每个簇的误差进而求总误差如果满足阈值要求就终止算法不满足进入5. 5.迭代对每个元素执行2中的划分质心不再变化就终止算法否则就继续更新质心执行5. 下面是算法代码 http://yunpan.cn/cyRsyLbzwqekE 提取码 edb0 转载于:https://www.cnblogs.com/yuwenfeng/p/4210007.html