K-means算法与KNN算法的区别

  • KNN算法(邻近算法) - 分类算法:分类算法肯定是需要有学习语料,然后通过学习语料学习后的模板来匹配我们的测试语料集,将测试语料集合进行按照预先学习的语料模板来分类
    算法思路:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别
    K-means算法与KNN算法的区别_CodingPark编程公园

KNN的算法过程是是这样的:
从上图中我们可以看到,图中的数据集是良好的数据,即都打好了label,一类是蓝色的正方形,一类是红色的三角形,那个绿色的圆形是我们待分类的数据。
如果K=3,那么离绿色点最近的有2个红色三角形和1个蓝色的正方形,这3个点投票,于是绿色的这个待分类点属于红色的三角形
如果K=5,那么离绿色点最近的有2个红色三角形和3个蓝色的正方形,这5个点投票,于是绿色的这个待分类点属于蓝色的正方形

我们可以看到,KNN本质是基于一种数据统计的方法!其实很多机器学习算法也是基于数据统计的。

KNN是一种memory-based learning,也叫instance-based learning,属于lazy learning。即它没有明显的前期训练过程,而是程序开始运行时,把数据集加载到内存后,不需要进行训练,就可以开始分类了。

具体是每次来一个未知的样本点,就在附近找K个最近的点进行投票。

  • K-means算法(K均值) - 聚类算法:聚类算法与分类算法最大的区别是聚类算法没有学习语料集合。
    K-means算法是聚类分析中使用最广泛的算法之一。
    算法思路:它把n个对象根据他们的属性分为k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。
    K-means算法与KNN算法的区别_CodingPark编程公园

K-means算法与KNN算法的区别_CodingPark编程公园

相关文章:

  • 2021-12-08
  • 2022-12-23
  • 2021-08-21
  • 2021-05-06
  • 2021-12-30
  • 2022-01-07
  • 2021-04-01
猜你喜欢
  • 2022-12-23
  • 2021-07-26
  • 2021-09-11
  • 2022-12-23
  • 2021-08-27
  • 2021-11-18
  • 2021-07-15
相关资源
相似解决方案