sklearn之K近邻

K近邻算法(K-Nearest Neighbor)是机器学习中的一种简单而有效的算法。它通过计算新数据与训练集中的数据点距离,选择最近的K个点,并根据这些点的类别决定新数据的归属。KNN算法适用于分类和回归任务,但在大数据集上由于计算复杂度高而受限。此外,样本不平衡和解释性差也是KNN的挑战。
摘要由CSDN通过智能技术生成

K近邻算法(K-Nearest Neighbor algorithm)又称KNN算法,是数据挖掘中原理最简单的算法。
工作原理:给定一个已知标签的训练数据集,输入没有标签的新数据后,在训练数据集中找到与新数据最邻近的K个实例,如果K个实例的多数属于某个类别,那么新数据就属于这个类别。简单理解为:由那些离X点最近的K个点来决定其类别
算法步骤:
1)计算测试数据与各个训练数据之间的距离;
2)按照距离的递增关系进行排序;
3)选取距离最小的K个点;
4)确定前K个点所在类别的出现频率;
5)返回前K个点中出现频率最高的类别作为测试数据的预测分类。
输出:
分类中,输出是标签中的某个类别
回归中,输出是对象的属性值,该值是距离输入的数据最近的K个训练样本标签的平均值
优点:
简单好用,容易理解,精度高,理论成熟,可以做分类也可以做回归;
可用于数值型数据和离散型数据;
无数据输入假定;
适合对稀有数据进行假定;
缺点:
计算复杂高,空间复杂性高;
计算量太大,所以一般数值很大的时候不用这个,但单个样本又不能太少,否则容易发生错误;
样本不平衡问题;
可理解性差,无法给出样本的内在含义;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值