K近邻算法的理论与基于python实现

K近邻算法是一种有监督学习方法,基于给定训练数据,通过找到新样本最近的K个邻居来预测其类别。当k值适当时,可以有效避免过拟合或欠拟合。在实际应用中,需注意K值的选择、数据的标准化和归一化。本文还提供了简单的Python代码示例来演示算法流程。
摘要由CSDN通过智能技术生成

KNN(K Nearest Neighbor)K近邻算法

K近邻算法理论

K近邻算法是一个有监督学习,需要提供有标签的样本进行训练,才能去预测新的样本。

K近邻算法,应该是最简单的一个机器学习算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例,这K个实例的多数属于某个类,就把该输入实例分类到这个类中。(这就类似于现实生活中少数服从多数的思想

在训练集中找寻距离测试样本最近的K个样本。通过统计这K个样本的类别,来判断测试样本的类别
在这里插入图片描述
如图所示,先已有三簇带有标签的数据,现在来了几个新的数据,这些数据的标签未知,k近邻算法的思想就是,选择离我当前样本最近的k个样本,选取k个样本中数量最多的样本标签作为我当前样本的标签。

图中的k=3,即当一个新的样本输入进来后,选择与当前样本最近的三个样本,选择这三个样本中数量最多的样本标签作为该样本的标签。

这里的距离度量使用最简单的欧式距离,即设point1(x1,y1), point2(x2,y2):
point1 和 point2 之间的距离 R = ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 R = \sqrt{(x_1-x_2)^2 + (y_1-y_2)^2} R=(x1x2)2+(y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值