机器学习---K近邻算法

1. KNN算法

K近邻算法,即K-Nearest Neighbor algorithm,简称KNN算法,是一个理论上比较成熟的方法,也

是最简单的机器学习算法之一,1968年由 Cover 和 Hart 提出。

该方法的思路是:如果一个样本在特征空间中的 k 个最相似(即特征空间中最邻近)的样本中的大

多数属于某一个类别,则该样本也属于这个类别。KNN 算法中,所选择的邻居都是已经正确分类

的对象;该方法在分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类

别。KNN算法并不具有显式的学习过程。k=1时,为最近邻搜索。

特点:基于实例之间距离和投票表决的分类,精度高、对异常值不太敏感,计算复杂度高、空间复

杂度高,特别适合多分类,简单易实现,大多数情况下比朴素贝叶斯好,给定训练集、距离度量、

k值及分类决策函数时,其结果唯一确定。

1.1 算法流程

输入:训练数据集为实例的特征向量,实例向量x

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

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

Nk(x)中根据分类决策规则(如多数表决)决定x所属的类别y。上式中,I为指示函数,即当yi

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

三月七꧁ ꧂

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

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

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

打赏作者

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

抵扣说明:

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

余额充值