MachineLearning--Knn

KNN是一种基于距离度量的监督学习方法,属于懒惰学习。它通过找到测试样本最近的k个邻居来预测其类别,常用于分类和回归任务。K值的选择对结果有显著影响,过大或过小都会带来不同的误差。尽管KNN计算量大,但其简单易实现且适用于多分类问题。代码实现部分展示了如何用KNN进行分类预测。
摘要由CSDN通过智能技术生成

Knn (k-Nearest Neighbor)
一、算法描述

一种常用的监督学习方法,其工作机制非常简单:给定测试样本,基于某种距离的度量方式(欧氏距离、闵氏距离、曼哈顿距离等)找出训练集中与该样本距离最近的前k个训练样本,并依据k个“邻居”的样本信息进行预测。属于懒惰学习方法[1]。

[1]:懒惰学习(lazy learning)训练阶段仅仅保存样本,训练时间开销为0,待新样本得到后再进行处理;相应的,急切学习(eager learning) 在训练阶段就对样本进行学习处理的方法

KNN图示

二、算法要点
1、距离的度量
欧氏距离、Minkowski距离、曼哈顿距离
参见:
http://www.cnblogs.com/wentingtu/archive/2012/05/03/2479919.html

2、K值选取
K值选取较大,即使用较大邻域内的训练实例进行预测,可以减少学习估计误差,但近似误差会增大;与样本距离较远的训练样本也会对预测结果有影响;
K值选取较小,则近似误差会减小,估计误差会增大;与样本距离较近的训练样本才会对预测结果有影响;预测结果对近邻的训练样本会很敏感。
一般来说,K值取一个比较小的值,通常采用交叉验证法来选择。

3、类别判定
投票法:在分类预测中,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值