KNN算法

K-NN算法是一种基本的分类与回归方法,用于鸢尾花等数据的分类。它依赖于K值的选择、距离度量和多数表决的分类决策规则。K值的选取对预测准确性至关重要,过大或过小都可能导致误差。常见的距离度量包括欧几里得距离和余弦相似度。KNN在处理大规模数据时效率较低,适用于类内间距小、类间间距大的数据集。对于样本不均衡的问题,可以通过赋予近邻权重来改进。KNN在机器学习中扮演着基础角色,是理解数据和构建模型的关键。
摘要由CSDN通过智能技术生成

K-NN算法介绍
K-近邻算法(k-nearest neighbor,k-NN)是一种基本分类与回归方法。K近邻算法不具备显式的学习过程,k近邻算法实际上是利用训练数据集对特征向量空间进行划分,并作为其分类的“模型”。K值的选择、距离的度量及分类决策规则是k近邻算法的三个基本要素。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。Cover和Hart在1968年提出了最初的邻近算法。KNN是一种分类(classification)算法,它输入基于实例的学习(instance-based learning),属于懒惰学习(lazy learning)即KNN没有显式的学习过程,也就是说没有训练阶段,数据集事先已有了分类和特征值,待收到新样本后直接进行处理。与急切学习(eager learning)相对应。KNN是通过测量不同特征值之间的距离进行分类。 思路是:如果一个样本在特征空间中的k个最邻近的样本中的大多数属于某一个类别,则该样本也划分为这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。
knn算法流程
三、算法关键:

  1. K的取值
    K:临近数,即在预测目标点时取几个临近的点来预测。K值得选取非常重要,因为:如果当K的取值过小时,一旦有噪声得成分存在们将会对预测产生比较大影响,例如取K值为1时,一旦最近的一个点是噪声,那么就会出现偏差,K值的减小就意味着整体模型变得复杂,容易发生过拟合;如果K的值取的过大时,就相当于用较大邻域中的训练实例进行预测,学习的近似误差会增大。这时与输入目标点较远实例也会对预测起作用,使预测发生错误。K值的增大就意味着整体的模型变得简单;
      如果K==N的时候,那么就是取全部的实例,即为取实例中某分类下最多的点,就对预测没有什么实际的意义了;K的取值尽量要取奇数,以保证在计算结果最后会产生一个较多的类别,如果取偶数可能会产生相等的情况,不利于预测。
  2. 距离度量
    距离就是特征空间中两个实例点的相似程度的反映。关于距离的度量方法,常用的有:欧几里得距离、余弦值(cos), 相关度 (correlation), 曼哈顿距离 (Manhattan distance)等。
    在这里插入图片描述
  3. 分类决策规则
    K近邻算法中的分类决策规则往往是多数表决,即由输出实例的k个邻近的训练实例的多数表决输出实例的类,但是会出现下述图片所示的情况。这时可以为相关点设置权重,一般设置为距离的倒数。在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值