首页 百问百答 帖子详情
knn和kmeans的区别
收藏
快速回复
百问百答 问答学习资料 122 0
knn和kmeans的区别
收藏
快速回复
百问百答 问答学习资料 122 0

1、kmeans算法是一种无监督学习算法
其算法流程如下:

(1)在一堆没有标签的数据中,我们选择k个数据作为聚类中心,k是人为选择的,中心点也是人为播撒的。

(2)使用某种距离度量方式,比如欧氏距离,计算其他所有点离这k个点的距离,比如a点算完之后距离k1点最近,那么就把a归类为k1类。

(3)计算聚类之后的各个类的中心,使其作为新的聚类中心。

(4)重复(2)到(3)步,直到新的中心与原来的中心距离小于某个阈值就停止。这样我们就完成了数据聚类。

2、KNN算法是一种监督学习算法
其算法流程如下:

(1)当出现新的测试样本时,计算其与训练样本中每个样本的距离。

(2)根据距离选择与测试样本最接近的k个样本,k是人为进行选择的。

(3)基于这k个训练样本的类别来划分新样本的类别,通常选择这k个训练样本中出现次数最多的标签作为新样本的类别。比如这k个训练样本中有十个猫一个狗,那么可以人为测试样本就是猫。

3、他们之间的区别
(1)KMeans是无监督学习算法,KNN是监督学习算法。

(2)KMeans算法的训练过程需要反复迭代的操作(寻找新的中心),但是KNN不需要。

(3)KMeans中的K代表的是聚类中心的个数,KNN的K代表的是选择与新测试样本距离最近的前K个训练样本。

0
收藏
回复
在@后输入用户全名并按空格结束,可艾特全站任一用户