分类问题学习笔记-KNN原理

本文深入解读KNN算法,通过实例展示其“近邻原则”,讲解如何选择K值、距离计算方法,以及在鸢尾花数据集上的应用。讨论了算法的优点如简单实现和处理边界不规则数据,同时揭示了其缺点如对大数据集效率低和数据不平衡问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最邻近算法-KNN

案例:

kNN算法的指导思想是“近朱者赤,近墨者黑”,由你的邻居来推断出你的类别。
俗话讲“物以类聚,人以群分”。 试想有甲乙两个人,甲住进了汤臣一品的豪宅,乙住进了郊区老破小,那我们最直观的判断就是:甲大概率是个有钱人,乙嘛,平平无奇。即时我们没见过甲乙的银行卡余额,但通过甲住进了富人小区仍然可以做出判断。引出KNN算法思路“你住的离谁近,就大概率跟他是同一类人”。

定义——From Wikipedia:

In pattern recognition, the k-nearest neighbors algorithm (k-NN) is a non-parametric method proposed by Thomas Cover used for classification and regression.[1] In both cases, the input consists of the k closest training examples in the feature space. The output depends on whether k-NN is used for classification or regression:

  • In k-NN classification, the output is a class membership. An object
    is classified by a plurality vote of its neighbors, with the object
    being assigned to the class most common among its k nearest neighbors
    (k is a positive integer, typically small). If k = 1, then the object
    is simply assigned to the class of that single nearest neighbor.
  • In k-NN regression, the output is the property value for the object.
    This value is the average of the values of k nearest neighbors.

原理:

用一句话来解释 KNN 算法原理,那就是找到 K 个与新数据最近的样本,取样本中最多的一个类别作为新数据的类别。
引自维基百科上的一幅图:
在这里插入图片描述
如上图所示,有两类不同的样本数据,分别用蓝色的小正方形和红色的小三角形表示,而图正中间的那个绿色的圆所标示的数据则是待分类的数据。

  • 如果K=3,绿色圆点的最邻近的3个点是2个红色小三角形和1个蓝色小正方形,少数从属于多数,基于统计的方法,判定绿色的这个待分类点属于红色的三角形一类。
  • 如果K=5,绿色圆点的最邻近的5个邻居是2个红色三角形和3个蓝色的正方形,还是少数从属于多数,基于统计的方法,判定绿色的这个待分类点属于蓝色的正方形一类。

所以细节的东西主要有两个,K值的选取和点距离的计算。

优缺点:

优点:

1、简单易实现: KNN 算法最后实际上并没有抽象出任何模型,而是把全部的数据集直接当作模型本身,当一条新数据来了之后跟数据集里面的每一条数据进行对比。所以可以看到 KNN 算法的一些优点,首当其冲的就是这个算法简单,简单到都不需要进行什么训练了,只要把样本数据整理好了,就结束了,来一条新数据就可以进行预测了。
2、对于边界不规则的数据效果较好: 可以想到,我们最终的预测是把未知数据作为中心点,然后画一个圈,使得圈里有 K 个数据,所以对于边界不规则的数据,要比线性的分类器效果更好。因为线性分类器可以理解成画一条线来分类,不规则的数据则很难找到一条线将其分成左右两边。

缺点:

1、只适合小数据集: 正是因为这个算法太简单,每次预测新数据都需要使用全部的数据集,所以如果数据集太大,就会消耗非常长的时间,占用非常大的存储空间。
2、数据不平衡效果不好:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值