2021-10-10

knn算法简介

knn算法简介

邻近算法,或者说K最近邻(KNN,K-NearestNeighbor)分类算法是 数据分类技术中最简单的方法之一。其中k指最近的k个邻居。knn即,当对测试样本进行分类时,首先通过扫描训练样本集,找到与该测试样本最相似的个训练样本,根据这个样本的类别进行投票确定测试样本的类别。

knn算法深度解析与优点

knn算法解析

根据简介介绍可知,knn算法最重要的是k值与如何计算距离。

k的取值对knn算法的准确度影响极大

当K值较小时,模型会较依赖于附近的邻居样本,具有较好敏感性,但是稳定性会较弱。

当K值较大时,稳定性增加,但是敏感性会减弱。

如图

查看源图像

 k是三时判断为六边形,k大一些即判断为四边形,充分体现了过小的不稳定性。

距离计算

 欧式距离d = sqrt ( (x1-x2)^2+ (y1-y2)^2)。

皮尔逊相关系数

余弦相似度

knn算法优点

  • 简单好用,容易理解,精度高,理论成熟,既可以用来做分类也可以用来做回归;
  • 可用于数值型数据和离散型数据;
  • 训练时间复杂度为O(n);无数据输入假定;
  • 对异常值不敏感。

书本代码实现

暂未实现,后续补充

总结

实现是个问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值