摘要:是一种非参数的懒惰的监督学习算法非参数的意思是,模型不会对基础数据分布做出任何假设。电脑端查看源码参考资料网址是一个支持的人工智能建模平台,能帮助你快速开发训练并部署应用。
KNN 是一种非参数的懒惰的监督学习算法.
非参数的意思是,模型不会对基础数据分布做出任何假设。换句话说,模型的结构是根据数据确定的。懒惰的意思是没有或者只有很少的训练过程.
KNN 算法既可以处理分类问题,测试数据的类型由所有 K 个最近邻点投票决定,也可以处理回归问题,测试数据的值是所有 K 个最近邻点的值的均值或众数.
KNN 的算法非常简单.
例如,对于分类问题,算法流程如下,
对需要预测的每个数据依次执行以下操作:
计算已知训练数据集中的点与当前点之间的距离;
按照距离递增次序排序;
选取与当前点距离最小的k个点;
确定前k个点所在类别的出现频率;
返回前k个点出现频率最高的类别作为当前点的预测分类。
需要注意的是,要对数据进行特征缩放.下面两张图很好的阐释了缩放的重要性.
那么KNN在实际使用中有哪些优点和缺点呢?
它的优点有:
可以处理线性和非线性数据
直观上易于理解
具有较高的准确率
既可以用作回归问题,也可以用作分类问题
它的缺点是
计算代价大
内存要求高
数据量大时预测较慢
对无关的特征以及特征缩放敏感
在实际的使用过程中,可能会遇到如下的问题.
k 近邻的类别出现了平局的情况. 例如在二分类中,正负类型的近邻数相同,使用奇数个近邻可以解决此问题,但是无法解决多分类的问题.这个时候可以
随机决定属于哪个类别
对某些类别设置优先级
使用最近邻来做最终的决定
2.训练数据的缺失值如何处理.如果不处理缺失值,则无法计算距离.对于缺失值的处理的核心原则是,尽可能小的影响距离的计算.一个合理的解决办法是,使用训练数据的平均值来填充缺失值.
最后附上实现代码,登录之后就能查看了。
电脑端查看源码
参考资料
https://medium.com/@adi.brons...
https://www.youtube.com/watch...
https://www.datacamp.com/comm...
https://stats.stackexchange.c...
————————————————————————————————————
Mo (网址:momodel.cn )是一个支持 Python 的人工智能建模平台,能帮助你快速开发训练并部署 AI 应用。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/20010.html
摘要:算法及工作原理近邻算法采用测量不同特征值之间的距离方法进行分类。最后选择个最相似数据中出现次数最多的分类作为新数据的分类。 1 分类算法引言 众所周知,电影可以按照题材分类,然而题材本身是如何定义的?由谁来判定某部电影属于哪个题材?也就是说同一题材的电影具有哪些公共特征?这些都是在进行电影分类时必须要考虑的问题。 动作片中也会存在接吻镜头,爱情片中也会存在打斗场景,我们不能单纯依靠是...
必须要看的前言 本文风格:以❤️简单易懂❤️的语言带你彻底搞懂KNN,了解什么是有监督学习算法。 认真看完这篇文章,彻底了解KNN、了解监督学习算法绝对是一样很简单的事情。 注:本篇文章非常详细,同时我也附加了Python代码,欢迎收藏后慢慢阅读。 目录 必须要看的前言监督学习算法KNN/K近邻算法1 算法原理1.1 实现过程1.2 距离的确定 2 算法的优缺点3 算法的变种3.1 变...
摘要:项目介绍某用户一直使用在线约会软件寻找适合自己的约会对象。尽管约会网站会推荐不同的人选但她并不是喜欢每一个人。 1 项目介绍 某APP用户一直使用在线约会软件寻找适合自己的约会对象。尽管约会网站会推荐不同的人选,但她并不是喜欢每一个人。经过一番总结,她发现曾交往过三种类型的人: 不喜欢的人(3) 魅力一般的人(2) 极具魅力的人(1) 某APP用户希望分类软件可以更好地帮助她将匹...
阅读 3314·2021-11-12 10:36
阅读 2467·2021-11-02 14:43
阅读 2145·2019-08-30 14:23
阅读 3462·2019-08-30 13:08
阅读 919·2019-08-28 18:09
阅读 3128·2019-08-26 12:22
阅读 3139·2019-08-23 18:24
阅读 2015·2019-08-23 18:17