k近邻算法(knn)与k-means算法的对比

k近邻算法(knn)是一种基本的分类与回归的算法,k-means是一种基本的聚类方法。

k近邻算法(knn)

基本思路:如果一个样本在特征空间的k个最相似(即特征空间最邻近)的样本大多数属于某一类,则该样本也属于这一类。

影响因素:

  1. k值的选择。k的值小,则近似误差小,估计误差大;k的值大,则近似误差大,估计误差小。(近似误差即算法在训练集上的误差,估计误差即算法在测试集上的误差。近似误差小,会出现过拟合的现象,即模型在训练集上预测误差小,在未知的测试集上则表现差,此时模型并非最优模型;估计误差小,则模型在未知的测试集上的误差小,模型接近于最优模型);
  2. 距离的计算。距离计算的是样本在特征空间的邻近程度,通常用欧式距离或者曼哈顿距离;
  3. 分类决策规则。往往采用多数表决。

k-means算法

k-means算法的基本步骤如下:

  1. 随机选择k个样本作为初始化的中心点;
  2. 分别计算其它样本到这k个中心点的距离,并分别将这些样本划分给距离最近的那个中心;
  3. 重新计算k类样本的均值,得到新的k个中心点;
  4. 重复步骤2和3,直到样本到中心点的距离不再改变,或者迭代达到一定次数为止。

Reference:

  1. https://www.cnblogs.com/PiPifamily/p/8520405.html
  2. https://blog.csdn.net/weixin_37895339/article/details/78794190
posted @ 2018-08-10 07:20  wumh7  阅读(4127)  评论(0编辑  收藏  举报