机器学习基础-k近邻算法(KNN)

k近邻算法(KNN)定义:

      如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。

      来源KNN算法最早是由Cover和Hart提出的一种分类算法

      思想:相似的样本,特征之间的值应该都是相似的

      特征处理:需要做标准化处理

计算距离公式:

两个样本的距离可以通过如下公式计算,又叫欧式距离

比如说:a(a1,a2,a3),b(b1,b2,b3)

 sklearn k-近邻算法API:

sklearn.neighbors.KNeighborsClassifier

 k近邻算法实例实现-预测入住位置

分析项目:

项目属于分类问题

特征值:x,y坐标  ,定位准确性,时间      目标值:入住位置ID(place_id)

数据预处理:

1.由于数据量大,节省时间:缩小X,Y的值   0<x<10  0<y<10

2.时间戳进行处理:转化为日期格式(年,月,日,周,时分秒)

3.少于指定签到人数的位置删除

KNN使用分析:

1k值取多大?有什么影响?

      k值取很小:容易受异常点影响

      k值取很大:容易受最近数据太多导致比例变化

2.k-近邻算法优缺点

优点:简单,易于理解,易于实现, 无需估计参数,无需训练
缺点:
懒惰算法,对测试样本分类时的计算量大,内存开销大
必须指定 K 值, K 值选择不当则分类精度不能保证
使用场景:小数据场景,几千~几万样本,具体场景具体业务去测试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值