机器学习之KNN

news/2025/2/25 23:46:42

KNN做回归和分类的主要区别在于最后做预测时候的决策方式不同。KNN做分类预测时,一般是选择多数表决法,即训练集里和预测的样本特征最近的K个样本,预测为里面有最多类别数的类别。而KNN做回归时,一般是选择平均法,即最近的K个样本的样本输出的平均值作为回归预测值。

KNN的三要素:k值的选取,距离度量的方式和分类决策规则

可以通过交叉验证选择一个合适的k值。对于距离的度量,我们最常用的是欧式距离,即对于两个n维向量x和y,两者的欧式距离定义为:

KNN的实现方式:

1)蛮力实现:即为计算预测样本和训练样本中所有点的距离,选择距离最小的前K个元素。利用投票表决法确定预测样本的类别。(或利用均值法确定预测样本的值)

其优点是实现简单,但是其缺点是当数据过大时计算量太大。

2)KD树:具体参考https://www.cnblogs.com/pinard/p/6061661.html

KNN算法的优缺点分析:

优点:

第一、简单好用,容易理解,精度高,理论成熟,既可以用来做分类也可以用来做回归;第二、对异常值不敏感

缺点:

第一、计算复杂性高;空间复杂性高;第二、样本不平衡会造成很大影响。第三、最大的缺点是无法给出数据的内在含义。

转载于:https://www.cnblogs.com/dyl222/p/11068476.html


http://www.niftyadmin.cn/n/711886.html

相关文章

写给后端程序员的HTTP缓存原理介绍

通过Internet获取资源既缓慢,成本又高。为此,Http协议里包含了控制缓存的部分,以使Http客户端可以缓存和重用以前获取的资源,从而优化性能,提升体验。虽然Http中关于缓存控制的部分,随着协议演进&#xff0…

SpringMVC——框架概述第一个注解的SpringMVC程序

文章目录: 1.SpringMVC框架的基本说明 2.第一个注解的SpringMVC程序 2.1 IDEA中使用maven创建一个web项目 2.2 在pom.xml中加入相关依赖 2.3 在web.xml中声明DispatcherServlet对象 2.4 创建一个发起请求的jsp页面(index.jsp) 2.5 创建…

PHP多次调用Mysql存储过程报错解决办法

PHP多次调用Mysql数据库的存储过程会出现问题,主要问题为存储过程中执行多次SQL语句不能一一释放导致的,网上找了一些解决办法,比如使用 multi_query 然后一个一个释放,但是发现根本不适合我们的项目,我们使用CI框架写…

8小时用html5打造vncviewer,安装VNC Server实现图形化访问的小技巧

安装VNCServer实现图形化访问的小技巧,许多人看到这个问题的时候,都觉得头很大,不知道如何下手,而且在操作过程中,总会犯一些这样那样的错误,下面卖贝商城的小编就具体介绍一下,不是很难哦!一. …

mysql集群场景_MYSQL集群的搭建

三台服务器实现主主从搭建:第一台服务器ip:192.168.1.106第二台服务器ip:192.168.1.195第三台服务器ip:192.168.1.150mysql主从的应用场景:数据分布 负载均衡 高可用和容错 备份现在三台服务器都安装mysql开发环境 主从系统要一致 mysql版本和io磁盘开始搭建:首先得先建立一个复…

90 《阿里巴巴 java开发手册》关于MySQL的规约(建表规约)

建表规约 【强制】 1、表达是与否的概念的字段,必须使用 is_xxx 的方式来命名,数据类型是 unsigned tinyint (1表示是,0表示否)。 说明:任何字段如果为非负数,则必须是 unsigned 。 注意&…

怎样将ppt转换成pdf

为什么80%的码农都做不了架构师?>>> 怎样将ppt转换成pdf 最近朋友遇到了件麻烦事,公司领导让他将去年每个月编写的的仓库货物文件整理出来,制定要转成PDF格式文件,而大部分的文件都是PPT格式的,如何实现PPT…

实施微服务架构的关键技术

大家都在提微服务架构,微服务架构到底是什么?它有哪些特点和设计模式?我们在打造微服务架构过程中,这些设计模式在实战当中如何应用?数据的一致性应该如何保证?今天我将针对上述疑问分享一下我的思考。 微服…