k近邻法matlab_K-邻近算法(KNN)详解+Python实现

KNN(K-Nearest Neighbor)是一种基础的机器学习算法,用于分类和回归。算法基于实例,通过计算距离度量找到最近的k个邻居进行分类决策。k值的选择、距离度量和分类规则对模型性能有显著影响。文章详细介绍了KNN的工作原理,并提供了Python实现。
摘要由CSDN通过智能技术生成

1.什么是KNN算法?

KNN(K-Nearest Neighbor)算法是机器学习算法中最基础,最简单的算法之一。它既能用于分类,也能用于回归。KNN通过测量不同特征值的距离来进行分类。

k近邻算法简单,直观:对于一个需要预测的输入向量x,我们只需要在训练数据集中寻找k个与向量x最近的向量的集合,然后把x的类别预测为这k个样本中类别数最多的那一类。

1.1基于上述思想给出KNN算法过程

输入:训练数据集

0b5b4bf933eb84e5b9d5c8ac356f5115.png

其中:

69bd8e0f4c2b545c6d5033cd0341f7db.png

输出:实例x所属的类y.

(1)根据给定的距离度量,在训练集T中找出与x最临近的k个点,涵盖这k个点的x的领域记作Nk(x)

(2)在Nk(x)中根据分类决策规则(如多数表决)决定x的类别y:

ebd7ed7f3269bcb820d99ae20bfe7a21.png

I为指示函数,即当yi=ci时I为1,否则I为0

k近邻法的特殊情况是k=1的情形,称为最近邻算法,对于输入的实例点(特征向量)x,最近邻法将训练数据集中与x最邻近点的类作为x的类。

2. k近邻模型

k近邻法使用的模型实际上对应于对特征空间的划分。模型主要由三个基本要素----距离度量,k值的选择和分类决策规则决定。

2.1 距离度量

特征空间中两个实例点的距离是两个实例点相似程度的反应的反应。使用的是欧式距离(即坐标轴中两点的距离),但也可以是其他距离,如更一般的Lp距离(Lpdistance)或Minkowski (Minkowski distance)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值