K-means 与 KNN

K-means 与 KNN  是两个很简单的算法,但是由于平时用的少,所以记得不是很清楚,稍不注意,就会弄混,现在特别对这两个算法进行比较学习。


1、K-means

K-means 是一种聚类算法,将已知的样本按照K个类来聚类。

K-Means的算法如下:
1、随机在图中取K(想要聚成几个类,K就等于几)个种子点。
2、然后对图中的所有点求到这K个种子点的距离,假如点Pi离种子点Si最近,那么Pi属于Si点群。
3、接下来,根据第2步聚出的K个类,重新计算这K个类的中心点,我们要移动种子点到属于他的“点群”的中心。
4、然后重复第2)和第3)步,直到,种子点没有移动



2、KNN

KNN,即K最近邻算法,是一种分类算法,K表示当前样本与最邻近的K个已知类别样本之间的关系。最邻近的K个样本中最多属于哪一类,那当前样本就属于哪一类。

KNN算法步骤如下:

step.1---初始化距离为最大值
step.2---计算未知样本和每个训练样本的距离dist
step.3---得到目前K个最临近样本中的最大距离maxdist
step.4---如果dist小于maxdist,则将该训练样本作为K-最近邻样本
step.5---重复步骤2、3、4,直到未知样本和所有训练样本的距离都算完
step.6---统计K-最近邻样本中每个类标号出现的次数
step.7---选择出现频率最大的类标号作为未知样本的类标号

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值