KNN算法

概述

很简单,给定一个数据集,确定唯一参数N,模型即完成

模型的使用,对于一个新的样本值,计算其周围最近的(Nearest Neighbors)N个样本,数量最多的取值,即为模型的预测值

其他

距离

曼哈顿距离: d ( x , y ) = Σ ∣ x i − y i ∣ d(x, y)=\Sigma{|x_i-y_i|} d(x,y)=Σxiyi

欧式距离:就是直线距离: d ( x , y ) = Σ ( x i − y i ) 2 d(x, y)=\sqrt{\Sigma{(x_i-y_i)^2}} d(x,y)=Σ(xiyi)2

N的取值

交叉验证,也许这个算是训练过程?
对于每个N的取值,都执行一次交叉验证,绘制如下的图表

在这里插入图片描述
选取错误率最低的值作为模型参数

优缺点

优点:

简单易用,相比其他算法,KNN算是比较简洁明了的算法。即使没有很高的数学基础也能搞清楚它的原理。
模型训练时间快,上面说到KNN算法是惰性的,这里也就不再过多讲述。
预测效果好。
对异常值不敏感

缺点:

对内存要求较高,因为该算法存储了所有训练数据
预测阶段可能很慢
对不相关的功能和数据规模敏感

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值