zourui4271

博客园 首页 新随笔 联系 订阅 管理

KNN和K-Means的区别

 

KNN

K-Means

1.KNN是分类算法 

 

2.监督学习 

3.喂给它的数据集是带label的数据,已经是完全正确的数据

1.K-Means是聚类算法 

 

2.非监督学习 

3.喂给它的数据集是无label的数据,是杂乱无章的,经过聚类后才变得有点顺序,先无序,后有序

没有明显的前期训练过程,属于memory-based learning 有明显的前期训练过程
K的含义:来了一个样本x,要给它分类,即求出它的y,就从数据集中,在x附近找离它最近的K个数据点,这K个数据点,类别c占的个数最多,就把x的label设为c K的含义:K是人工固定好的数字,假设数据集合可以分为K个簇,由于是依靠人工定好,需要一点先验知识
   
相似点:都包含这样的过程,给定一个点,在数据集中找离它最近的点。即二者都用到了NN(Nears Neighbor)算法,一般用KD树来实现NN。
posted on 2017-09-10 14:46  zourui4271  阅读(287)  评论(0编辑  收藏  举报