K-近邻法(KNN算法)

2023-11-01

1、kNN算法(K 最近邻(k-Nearest Neighbors))描述
简单地说,k-近邻算法采用测量不同特征值之间的距离方法进行分类。
k-近邻算法 是一种基本 分类与回归 方法;它是是 监督学习 中分类方法的一种,属于 懒散学习法 (惰性学习方法)。
给定一个 训练集D 和一个 测试对象z ,该测试对象是一个由 属性值 和一个 未知的类别标签 组成的向量,该算法需要计算z和每个训练对象之间的距离(或相似度),这样就可以确定最近邻的列表。然后将最近邻中实例数量占优的类别赋给z。( 主要思想 是如果一个样本在特征空间中的k个最近的样本中的大多数都属于某个类别,则该样本属于这个类别,并具有这个类别上的特性 )。
注释:  (1)所谓 监督学习 非监督学习 ,是指训练数据是否有标柱类别,若有则为监督学习,否则为非监督学习。 监督学习是指根据训练数据学习一个模型,然后能对后来的输入做预测。在监督学习中,输入变量和输出变量可以是连续的,也可以是离散的。若输入变量和输出变量均为连续变量,则称为 回归 ;输出变量为有限个离散变量,则称为 分类
(2) 懒散学习法 在训练过程中不需要做许多处理。只有当新的未被分类的数据输入时,这类算法才会去做分类。 积极学习 法则会在训练中建立一个分类模型,当新的未分类数据输入时,这类学习器会把新数据也提供给这个分类模型。
2.KNN算法的工作原理:
存在一个样本数据集合,也称作为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一个数据与所属分类的对应关系。输入没有标签的新数据后,将新的数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本最相似数据(最近邻)的分类标签。一般来说,我们只选择样本数据集中前k个最相似的数据,这就是k-近邻算法中k的出处, 通常k是不大于20的整数 。最后,选择k个最相似数据中出现次数最多的分类,作为新数据的分类。
3、KNN算法的一般流程
(1) 收集数据 :可以使用任何方法。
(2) 准备数据 :距离计算所需要的数值,最好是结构化的数据格式。
(3) 分析数据 :可以使用任何方法。
(4) 训练算法 :此步骤不适用于k-近邻算法。
(5) 测试算法 :计算错误率。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

K-近邻法(KNN算法) 的相关文章

随机推荐

  • 前端实际开发中的命名规范(个人建议)

    如果说计算机科学只存在两个难题 缓存失效和命名 那我觉得前端的命名占有一席之地 让人难以理解的命名方式 单词拼写错误 中英文混用 以数字1 9或者以a z命名 中文拼音命名 强制缩写 命名方法 每个单词之间用 或者 连接 小驼峰 除第一个单
  • JavaScript做简单的购物车效果(增、删、改、查、克隆)

    比如有时候遇到下面这种情况 点击加入购物车 然后在上方的购物车中动态的添加商品以及商品的信息 我们就可以通过JavaScript实现简单的这些操作 首先我们需要在html文档中 通过css对页面的布局做一些简单的设置 并创建两个模板 其di
  • 第二十三节:DOM对象

    DOM概述 DOM 是 JavaScript 操作网页的接口 全称为 文档对象模型 Document Object Model 它的作用是将网页转为一个 JavaScript 对象 从而可以用脚本进行各种操作 比如增删内容 浏览器会根据 D
  • python字典调用键值对作为函数的形参_前端如何学习Python——字典和函数|七日打卡...

    字典 Python 中的字典和 Javascript的对象基本是一样的 添加键值对 user user name david user age 18 print user 复制代码 name david age 18 复制代码 删除键值对
  • RuntimeError: Error(s) in loading state_dict for SENET

    错误提示 RuntimeError Error s in loading state dict for SENET Missing key s in state dict conv1 weight bn1 weight bn1 bias b
  • WebGL(threeJS)给物体打标签

    threeJS给物体打标签有以下几种方法 今天我们就郭老师的例子 依次来看看区别三中标签的区别 今天咱们现年看看效果 下次咱们分析代码 第一种 CSS2DRenderer 官方案例 CSS2DRenderer的标签本身的大小不会缩放也不会旋
  • OD华为机试 19

    分苹果 描述 A B两个人把苹果分为两堆 A希望按照他的计算规则等分苹果 他的计算规则是按照二进制加法计算 并且不计算进位 12 5 9 1100 0101 9 B的计算规则是十进制加法 包括正常进位 B希望在满足A的情况下获取苹果重量最多
  • 2022全年度净水器十大热门品牌销量榜单

    随着人们健康意识的提升 每天喝足量水的观念已经深入人心 而伴随居民生活水平的提高 当下居民对水污染问题也更加关注 对饮水品质的认知和要求也随之升级 因此 净水器在过去几年开启了高速增长的趋势 根据鲸参谋数据显示 2022年京东平台净水器的年
  • docker具名挂载与匿名挂载

    文章分为三部分 什么是具名 匿名和指定路径挂载 匿名挂载 具名挂载 什么是具名 匿名和指定路径挂载 v 容器内路径 匿名挂载 v 卷名 容器内路径 具名挂载 v 宿主机路径 容器内路径 指定路径挂载 拓展 宿主机路径 容器内路径 ro 只读
  • 好书推荐计划:Keras之父作品《Python 深度学习》

    大家好 我禅师的助理兼人工智能排版住手助手条子 可能很多人都不知道我 因为我真的难得露面一次 天天给禅师做底层工作 今天条子终于也熬到这一天 终于也有机会来为大家写文章了 激动的我啊 都忘了9月17号中午和禅师在我厂门口兰州料理吃饭 禅师要
  • C++——关于返回值优化问题

    我们知道 对于一个函数的返回值来说 其是一个对象的拷贝 并且应当是一个右值 我们现在有一个函数 A get A A a 1 return a int mian A get A return 0 这个函数的行为应当是在函数体中构造一个a 然后
  • 浅析React Router V6 useRoutes的使用

    本篇文章记录了useRoutes第一个参数的使用方法 暂不涉及第二个参数 文章目录 一 使用位置 二 嵌套路由 三 分模块管理 注意事项 一 使用位置 一开始以为可以像react router config那样使用 于是写成 import
  • 用 construct 2 制作简易弹幕游戏

    用 construct 2 制作简易弹幕游戏 1 打开construct 2 加入背景 3 建立新的图层 4 在新的图层里加入素材 超人 弹幕 4 加入鼠标 5 给超人和弹幕设置动作 超人的 弹幕的 6 加入文字框 7 编写代码 完成啦
  • TCP/UDP报文格式及各种通信机制简介

    TCP UDP报文格式及各种通信机制简介 一 UDP报文 二 TCP报文 三 TCP通信机制 1 确认应答机制 2 超时重传机制 3 滑动窗口及快重传机制 4 流量控制 5 拥塞控制及慢启动机制 6 延迟应答 7 捎带应答 8 粘包问题 一
  • PLC中的定时器

    1 脉冲定时器 将指令列表中的 生成脉冲 指令TP拖放到梯形图中 在出现的 调用选项 对话框中 将默认的背景数据块的名称改为T1 可以用它来做定时器的标示符 单击 确定 按钮 自动生成背景数据块 定时器的输入IN为启动输入端 PT为预设时间
  • 二叉搜索树的概念 及 功能代码实现

    1 概念 二叉搜索树 又称 二叉排序树 特点 二叉树 每个节点中保存关键字 key 关键字需要具备 比较 的能力 每个节点 都是 大于左子树 小于右子树 二叉树搜索树中 不会出现 相等的 key 中序遍历 一定是 有序的 时间复杂度 最好和
  • 利用Hbuilder将Vue项目打包成apk

    一 配置config index js 本人没有配置index js文件 就开始进行了打包 结果最终效果是页面空白 解决了空白 接着底部图标 我是用的阿里巴巴图片 资源找不到 所以配置这步比较重要 1 页面空白的解决 打开config in
  • uboot2014移植到QT2440

    http bbs chinaunix net thread 4143968 1 1 html
  • Kotlin 协程(Coroutines)配合使用 Retrofit,网络请求

    第一步 添加所需依赖 管理生命周期 implementation androidx lifecycle lifecycle livedata ktx 2 2 0 implementation androidx lifecycle lifec
  • K-近邻法(KNN算法)

    1 kNN算法 K 最近邻 k Nearest Neighbors 描述 简单地说 k 近邻算法采用测量不同特征值之间的距离方法进行分类 k 近邻算法 是一种基本 分类与回归 方法 它是是 监督学习 中分类方法的一种 属于 懒散学习法 惰性