KNN算法

1.算法原理

KNN算法的核心思维:相似度较高的样本,映射到n维空间后,其距离回避相似度较低的样本在距离上更加接近。
KNN,即K近邻算法,K近邻就是K个最近的邻居,当需要预测一个未知样本的时候,就由与该样本最接近的K个邻居来决定。KNN既可以用于分类问题,也可以用于回归问题。当进行分类预测时,使用K个邻居中,类别数量最多(或加权最多)者,作为预测结果;当进行回归预测时,使用K个邻居的均值(或加权均值),作为预测结果。

k近邻算法用一句通俗的古语来说就是:“物以类聚,人以群分”。你要看一个实例的类别,你就可以看它附近是什么类别。如下图所示,当要判断绿色实例的类别的时候,我们可以看看它的附近有哪些类,然后采取多数表决的决策规则(红色2个多于蓝色1个),于是把绿色实例也分类为红色那一类。
在这里插入图片描述

2.算法执行的步骤

构造训练样本集,样本集中每一数据都有一个标签;

输入没有标签的数据,根据每一个维度的特征,从样本集选出k的最靠近的邻居;

用这k个邻居去投票得出未知数据的标签。
在这里插入图片描述

4.距离的计算

在这里插入图片描述
4)闵可夫斯基距离(N个特征)
 闵式距离不是一种距离,而是一组距离的定义,是对多个距离度量公式额概括性表述.
在这里插入图片描述

4. K值的选择问题

K值选择是KNN算法的关键,K值选择对近邻算法的结果有重大影响
K值的具体含义:在决策时通过依据测试样本的K个最近邻"数据样本"做决策判断.
(实际应用)
 K值一般取较小值,通常采用交叉验证法来选取最优K值,也就是比较不同的K值时的交叉验证平均误差,选择平均误差最小的那个K值.
 可以理解为对K值的选择就是对训练模型中参数的选择,交叉验证法(后面做了详细介绍)就可以理解为损失函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这篇博客保熟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值