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