机器学习7更多关于k近邻算法的思考
文章目录
- 一、一些总结
- 1、缺点1:
- 2、优化:
- 3、缺点2:
- 4、缺点3:
- 5、缺点4:
- 二、机器学习流程回顾
一、一些总结
k近邻算法是一个解决分类问题的算法,天然可以解决多分类问题;
不仅如此,k近邻算法还可以解决回归问题;
1、缺点1:
k近邻算法最大的缺点1是它的效率低下,可以想象一下如果训练集有m个样本,n个特征,则预测每一个新的数据,需要o(m*m)这么多的时间复杂度;
2、优化:
可以使用一些树的结构,比如KD-Tree,Ball-Tree等来更快的求出k近邻,但是即使如此仍然是一个效率很低的算法;
3、缺点2:
除此之外k近邻算法还有其他的问题,
缺点2:最终得到的结果是高度数据相关的;
4、缺点3:
k近邻算法的另外一个问题是缺点3:预测结果不具有可解释性,只是找到了和我们要预测样本比较近的样本,我们就说我们要预测的样本属于这个类别,但是我们要预测的样本为什么属于这个类别,我们根本无从知晓,那么在很多研究上,我们只拿到这个预测结果是远远不够的,我们希望对预测结果有一定的解释性,而我们能通过这些解释来推广或者去制作新的工具或者是以此为基础发展新的理论或者规则来改进我们生产环境中其他的方面;这些都是k近邻算法做不了的;
5、缺点4:
k近邻算法更大的缺点4就是维数灾难,所谓的维数灾难就是随着维度的增加,“看似相近”的两个点之间的距离越来越大,而k近邻算法非常依赖两个点之间距离的计算,这使得一旦我们使用k近邻算法处理一些高维度问题的时候就很有可能造成维数的灾难;如下图;
当然维数灾难也有相应的解决方法,就是降维;
最简单的降维方式叫做PCA;
二、机器学习流程回顾
机器学习流程回顾:
机器学习7更多关于k近邻算法的思考相关推荐
- 【机器学习入门】(1) K近邻算法:原理、实例应用(红酒分类预测)附python完整代码及数据集
各位同学好,今天我向大家介绍一下python机器学习中的K近邻算法.内容有:K近邻算法的原理解析:实战案例--红酒分类预测.红酒数据集.完整代码在文章最下面. 案例简介:有178个红酒样本,每一款红酒 ...
- 机器学习7/100天-K近邻算法
Day7 K近邻算法 github: 100DaysOfMLCode What is K-NN k近邻算法是常用的简单分类算法也可用于回归问题. KNN是一个无参的(不需要对数据分布做任何假设).基于 ...
- 机器学习实战第二章K近邻算法照葫芦画瓢实践。
分别实现了最基本的3个DEMO 1.给你若干个带有标签的二维点作为训练集,给定一系列的二维随机点,看其通过训练集,可以被分为哪一类 2.给你N个人的飞行里程数,玩游戏消耗时间百分比和每周消耗冰激凌的公 ...
- 【机器学习】sklearn机器学习入门案例——使用k近邻算法进行鸢尾花分类
1 背景 这个案例恐怕已经被说的很烂了,机器学习方面不同程度的人对该案例还是有着不同的感觉.有的人追求先理解机器学习背后的理论甚至自己推导一遍相关数学公式,再用代码实现:有的人则满足于能够实现相关功能 ...
- 01 K近邻算法 KNN
01 K近邻算法 KNN k近邻算法基础 等价于 scikit-learn中的机器学习算法封装 训练数据集,测试数据集 分类准确度 超参数 考虑距离权重 更多关于距离的定义 搜索明可夫斯基距离相应的p ...
- 【机器学习】原理与实现k近邻算法
文章目录 系列文章目录 前言 一.k近邻算法是什么? 二.使用步骤 1.引入库 2.读入数据 总结 前言 随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了 ...
- 机器学习-分类之K近邻算法(KNN)原理及实战
k近邻算法(KNN) 简介 KNN算法是数据挖掘分类技术中最简单的方法之一.它通过测量不同特征值之间的距离进行分类的.其基本思路为:如果一个样本在特征空间中的k个最近邻样本中的大多数属于某一个类别,则 ...
- k近邻算法_【白话机器学习】算法理论+实战之K近邻算法
1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,在这简单的先捋一捋, 常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支 ...
- 机器学习算法系列(二十二)-近似k近邻算法-Annoy(Approximate Nearest Neighbor / ANN)
阅读本文需要的背景知识点:k近邻算法.一丢丢编程知识 一.引言 前面一节我们学习了机器学习算法系列(二十一)-k近邻算法(k-Nearest Neighbor / kNN Algorithm),其 ...
最新文章
- CVPR 2019 | 惊艳的SiamMask:开源快速同时进行目标跟踪与分割算法
- OSSIM下部署HIDS
- 【学习笔记】产品成本计划(Product Cost Planning)02
- QT最方便的LOG库使用Easylogging++,只需要一个头文件
- OpenGL indexedCube索引多维数据集的实例
- Django(part17)--form表单提交数据
- java 自定义注解 生成json_SpringBoot:自定义注解实现后台接收Json参数
- 转换背景色 html,html – CSS转换:淡化背景颜色,重置后
- android9的手机,可防手机上瘾?安卓9.0首批升级的机型都在这里
- Linux定时任务Crontab详解
- Android购物商城项目
- 全面剖析雅虎助手以及网络实名的流氓行径(9)
- 银行计算机储蓄系统程序流程图,银行储蓄系统流程图.doc
- word页眉的横线怎么居中
- 计算机教室使用与管理制度,《计算机教室使用与管理制度》
- 模拟手机端来爬取数据
- 面试官:说说Redis之I/O多路复用模型实现原理
- 图片裁剪指定矩形区域(Python)
- PMP证书怎么续证?PDU要怎么获得?超过有效期证书就作废了吗?
- 【Spire.PDF】Spire.PDF破解
热门文章
- OpenCV—Python 图像指定区域裁剪
- 无代码搭建“网站运营”管理系统
- css符集图标显示不出来,CSS3 icon font完全指南(CSS3 font 会取代icon图标)
- pytorch使用心得
- android设备安装kali,在Android设备上安装Kali Linux基于Android设备的Kali Linux渗透测试教程大学霸...
- 用友NC57安装部署详解篇
- android 布局圆形_Android约束布局–圆形定位
- python 知乎接口_Python日记——用Django做一个简易的知乎日报API
- 打开jsp/html,3秒后自动跳转
- option的默认选中与thinkphp中eq标签的使用