什么是KNN( K近邻算法)

news2024/11/15 19:41:01

什么是KNN( K近邻算法)

虽然名字中有NN,KNN并不是哪种神经网络,它全名K-Nearest-Neighbors:K近邻算法,是机器学习中常用的分类算法。

请添加图片描述

物以类聚,人以群分。KNN的基础思想很简单,要判断一个新数据的类别,就看它的邻居都是谁。

假设我们的任务是分类水果,虽然不知道新来的水果是梨还是苹果,但通过观察它的大小和颜色,我们找到了它在坐标系中的位置,再看看已经确定的苹果和梨都在哪,如果附近的苹果多,我们就认为它是苹果,反之认为它是梨。

请添加图片描述

KNN中的K指的是K个邻居,K=3就是通过距离最近的3个样本,来判断新数据的类别。

请添加图片描述

大小和颜色是数据的特征,苹果和梨是数据的标签。计算距离时既可以使用两点之间的直线距离,也就是欧式距离,也可以使用坐标轴距离的绝对值的和,也就是曼哈顿距离。

对于KNN来说,K的取值非常重要,如果K的值太小,很容易受个例影响,K的值太大,又会受到距离较远的特殊数据影响。K的取值受问题自身和数据集大小决定,很多时候要靠反复尝试。

KNN算法能做什么?

  • 根据花瓣长度、宽度等特征判断植物类别
  • 将文本分词、统计词频等处理后判断文章的类型
  • 电商、视频网站可以找到与你类似的用户,依据他们的选择推荐你可能感兴趣的商品或内容

简单好用的KNN同样存在一定的缺点,它的流程是先计算新样本和所有样本之间的距离,按由近及远的顺序排序后,再按K值确定分类,因此数据越多,KNN的计算量越大,效率也就越低,很难应用到较大的数据集中 。

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/909266.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kubernetes入门 八、StatefulSet控制器

目录 概述创建StatefulSetPod 的管理策略扩容缩容 镜像更新滚动更新分区更新删除更新 删除 概述 Stateful 翻译为 有状态的 ,也是pod控制器的一种。 StatefulSet 是为了解决有状态应用的问题,Deployment是为无状态应用设计的。 无状态应用:…

Python 驱动连接 OceanBase 数据库

安装 JayDeBeApi 驱动 pip3 install JayDeBeApi 待更新 Python 驱动连接 OceanBase 数据库_云数据库 OceanBase 版-阿里云帮助中心

《你当像鸟飞往你的山》 书目总结

《你当像鸟飞往你的山》 书目总结

二、7.用户进程

TSS 是 x86CPU 的特定结构,被用来定义“任务”,它是内置到处理器原生支持的多任务的一种形式。 通过 call 指令+TSS 选择子的形式进行任务切换,此过程大概分成 10 步,这还是直接用 TSS 选择子进行任务切换的步骤&…

卷积神经网络——下篇【深度学习】【PyTorch】

文章目录 5、卷积神经网络5.10、⭐批量归一化5.10.1、理论部分5.10.2、代码部分 5.11、⭐残差网络(ResNet)5.11.1、理论部分5.11.2、代码部分 话题闲谈 5、卷积神经网络 5.10、⭐批量归一化 5.10.1、理论部分 批量归一化可以解决深层网络中梯度消失和…

分享因缺少 xPortSysTickHandler()函数而导致程序一直卡死在函数portTASK_FUNCTION的案例分析

今天来分享一个在学习freertos过程中遇到的一个小问题。就是发现程序跑不起来,但是debug调试时候发现也没有到while循环中,于是通过排查发现是因为缺少相应的SysTick中断服务函数导致的。话不多说,我们开始讲~ 问题锁定: 首先这…

springboot跨域踩坑笔记

事情是这样的,我在进行前后端联调的时候,发送了跨域拦截 马上在spring项目中创建一个CorsConfig类 package com.example.demo.config;import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.an…

聚观早报 | 抢先体验阿维塔11座舱;本田和讴歌采用NACS充电标准

【聚观365】8月21日消息 抢先体验阿维塔11鸿蒙座舱 本田和讴歌采用特斯拉NACS充电标准 华为秋季新品发布会将于9月12日举行 iQOO Z8即将到来 三星Galaxy S24系列外观或更改 抢先体验阿维塔11鸿蒙座舱 当前,智能座舱成了各大巨头跑马圈地的重要领域。根据毕马威…

国标GB28181安防视频平台EasyGBS通过对应密钥上传到其他平台展示的详细步骤来啦!

国标GB28181协议视频平台EasyGBS是基于国标GB28181协议的视频云服务平台,支持多路设备同时接入,并对多平台、多终端分发出RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。平台可提供视频监控直播、云端录像、云存储、检索回放、智能告警、语音对讲、平台级…

C# 使用递归方法实现汉诺塔步数计算

C# 使用递归方法实现汉诺塔步数计算 Part 1 什么是递归Part 2 汉诺塔Part 3 程序 Part 1 什么是递归 举一个例子:计算从 1 到 x 的总和 public int SumFrom1ToX(int x) {if(x 1){return 1;}else{int result x SumFrom1ToX_2(x - 1); // 调用自己return result…

交换机常见配置、H3C防火墙配置

真机演示学习 console线连接之后,检查电脑有无console线对应的驱动,无则根据型号去网上下载驱动 交换机的端口类型是百兆还是千兆(e为百兆,g为千兆): 如果是百兆端口,那么调试时的接口名称就…

FastViT:一种使用结构重新参数化的快速混合视觉变换器

文章目录 摘要1、简介2、相关工作3、体系结构3.1、概述3.2、FastViT3.2.1、重新参数化跳过连接3.2.2、线性训练时间过参数化3.2.3、大核卷积 4、实验4.1、图像分类4.2、鲁棒性评价4.3、3D Hand网格估计4.4、语义分割和目标检测 5、结论 摘要 论文:https://arxiv.or…

为什么20位数据总线决定寻址空间是2^20B,即1MB,而不是2^20/2^3=2^17B????

升级版的说明 –升级了一下图片;增加了对按字节编制的默认设定的说明,免得引起误导;去掉了之前评论区有人说单位的问题。 老版链接: http://t.csdn.cn/pYIXD 小白的疑惑 小白刚开始学习的时候很疑惑,为什么20位地…

实验二 Hdoop2.7.6+JDK1.8+SSH的安装部署与基本操作

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目…

电商系统架构设计系列(九):如何规划和设计分库分表?

上篇文章中,我给你留了一个思考题:分库分表该如何设计? 今天这篇文章,我们来聊一下如何规划和设计分库分表,以及要考虑哪些问题。 引言 当要解决海量数据的问题,就必须要用到分布式的存储集群了&#xff…

银河麒麟服务器版ky10 server arm版设置网卡开机自启

cd /etc/sysconfig/network-scripts 命令进入制定路径 pwd 查看当前路径 ip a命令查看网卡信息,确认用到的网卡是哪一张 ls 查看网卡配置文件 ,找到名称跟 ip a 查询出来的一致的网卡 修改对应网卡 vi *0f0:网卡后缀对应上即可 修改网卡开…

【LeetCode】224. 基本计算器

224. 基本计算器(困难) 方法:双栈解法 思路 我们可以使用两个栈 nums 和 ops 。 nums : 存放所有的数字ops :存放所有的数字以外的操作,/- 也看做是一种操作 然后从前往后做,对遍历到的字符做…

亥姆霍兹线圈在各行业中的作用

亥姆霍兹线圈是指两个相同的同轴圆形线圈,它们的圆心之间相隔一个相同的距离,并且电流的方向相反。亥姆霍兹线圈的作用非常广泛,不仅在物理学实验中得到广泛应用,而且在医学磁共振成像、电子学和通信领域中也有广泛的应用。 亥姆霍…

java学习——二叉树

二叉树的种类: 满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。 完全二叉树:在完全二叉树中,除了最底层节点可能没填满外,其余每层…

代码随想录第27天|39. 组合总和,40.组合总和II,131.分割回文串

39. 组合总和 分析这道题的搜索过程如下: 因为这道题没有限制要搜索几层,所以可以一直搜索直到sumtarget或者sum>target就return 回溯三部曲 1.递归函数参数 本题还需要startIndex来控制for循环的起始位置,对于组合问题,什么…