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。