首页 > 代码库 > knn与kmeans算法的区别

knn与kmeans算法的区别

knn kmeans

1.knn是分类算法

2.监督学习

3.给它的数据是有label的,是已经事先分类好了的,

类别数不变。

1.kmeans是聚类算法

2.非监督学习

3.给它的数据是没有label,是没有事先分类好的,

以“物以类聚”原理进行聚集成簇。

没有明显的前期训练过程。 有明显的前期训练过程。

K的含义:来了一个样本x,要给它分类,即求出它的类别,就从数据集中,

在x附近找离它最近的K个数据点,这K个数据点,类别c占的个数最多,

就把x的类别设为c

K的含义:K是人工固定好的数字,假设数据集合可以

分为K个簇,由于是依靠人工定好,需要一点先验知识

以上是knn与kmeans的不同点,相同点为:相似点:都包含这样的过程,给定一个点,在数据集中找离它最近的点。即二者都用到了NN(Nears Neighbor)算法,一般用KD树来实现NN。

knn与kmeans算法的区别