【k近邻】 K-Nearest Neighbors算法原理及流程

【k近邻】 K-Nearest Neighbors算法原理及流程

【k近邻】 K-Nearest Neighbors算法距离度量选择与数据维度归一化

k近邻算法(K-Nearest Neighbors,简称KNN)是一种常用的监督学习算法,可以用于分类和回归问题。在OpenCV中,KNN算法的函数为`cv.ml.KNearest_create()。

k近邻算法原理

K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例,这K个实例的多数属于某个类,就把该输入实例分类到这个类中。

例如下图展现了两类样本数据,分别由正方形和三角形表示,待分类数据由圆形表示,算法的目的是依据已知的样本数据判断待分类数据的类别,即对圆形数据分类。

我们考虑几种不同的K值:

  • 如果K=1,圆点的最邻近的1个点是1个三角形,少数服从多数,基于统计的方法,可以判定这个待分类点属于三角形一类。
  • 如果K=3,圆点的最邻近的3个点是2个三角形和1个正方形,少数服从多数,基于统计的方法,可以判定这个待分类点属于三角形一类。
  • 如果K=5,圆点的最邻近的5个点是2个三角形和3个正方形,少数服从多数,基于统计的方法,可以判定这个待分类点属于正方形一类。
  • 依此类推,k近邻算法的思路十分清晰,一言蔽之,即由最近的k个邻居决定待判别点的归属。

k近邻算法流程

对未知类别的数据集中的每个点依次执行以下操作

  • 计算已知类别数据集众多点与当前点之间的距离
  • 按照距离递增次序排序
  • 选取与当前点距离最小的k个点
  • 确定前k个点所在类别的出现频率
  • 返回前k个点出现频率最高的类别作为当前点的预测分类

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java调摄像头和人脸比对

我需要做一个功能,就是网站页面调用摄像头截图。现在由于要用java,就得研究用java怎么调用摄像头。顺带玩了一下人脸比对,资料有点少。 效果 采用javacv实现,先加Maven引用,后面把下载的包再独立引用不用Maven了 …

如何使用安卓平板远程Ubuntu服务器通过VS Code远程开发

文章目录 1.ubuntu本地安装code-server2. 安装cpolar内网穿透3. 创建隧道映射本地端口4. 安卓平板测试访问5.固定域名公网地址6.结语 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能学习网站, 通俗易懂,风趣幽默,…

Linux搭建JavaEE环境

Linux搭建JavaEE环境 需要在 Linux 下进行 JavaEE 的开发,我们需要安装如下软件 JDKtomcatmysqlidea 安装JDK 安装步骤 首先去官网下载jdk的linux版本 下载地址:https://www.oracle.com/cn/java/technologies/downloads/ 1) mkdir /opt/jdk 2) 通过 …

【postgresql】ERROR: relation “data_screen.import_record_id_seq“ does not exist

创建表时候提示下面错误: ERROR: relation "data_screen.import_record_id_seq" does not exist 错误:关系“data_screen.import_record_id_seq”不存在 创建语句 CREATE TABLE "data_screen"."import_record" ("…

SpringBoot+Vue+MySQL:图书管理系统的技术革新

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

Laravel Reverb 强势降临:全新风潮,引领未来开发潮流!

终于有官方 Websocket package 了!!! Laravel Reverb !!! reverb.laravel.com/ Laravel Reverb的引入使得Laravel框架在实时通信方面更加强大和灵活,为开发者提供了更多的选择和可能性。通过利…

http前生今世

HTTP/0.9,仅支持GET方法,并且响应中没有HTTP头信息,只有文档内容。 HTTP/1.0增加了对POST方法、状态码、HTTP头信息等的支持,这一版本也是广泛应用的历史性版本。 HTTP/1.1引入了持久连接(Persistent Connections&…

【.NET Core】常见C#代码约定

【.NET Core】常见C#代码约定 文章目录 【.NET Core】常见C#代码约定一、概述二、代码预定的目标三、代码约束工具和分析器四、C#语言准则五、字符串约定5.1 使用字符串内插来连接短字符串5.2 插入大文本时,使用System.Text.StringBuilder对象 六、数组约定七、委托…

书生开源大模型训练营-第3讲笔记

5.Langchain和InternLM搭建知识库 5.1环境 还是一样,开发机中创建镜像,以及所需依赖 pip install modelscope1.9.5 pip install transformers4.35.2 pip install streamlit1.24.0 pip install sentencepiece0.1.99 pip install accelerate0.24.15.2模…

算法面试八股文『 模型详解篇 』

说在前面 这是本系列的第二篇博客,主要是整理了一些经典模型的原理和结构,面试有时候也会问到这些模型的细节,因此都是需要十分熟悉的。光看原理还不够,最好是能用代码试着复现,可以看看李沐老师深度学习的教材&#…

信钰证券|lpr下降对股市的影响?是利好还是利空?

lpr是借款市场报价利率,它的上调、下降对股市会发生一定的影响,那么,lpr下降对股市的影响?是利好仍是利空? lpr下降对股市是利好,因为,lpr下降意味着借款本钱削减,会推进实体经济的…

Java使用百度地图API根据经纬度反查位置信息

前言 一个小需求,需要查询某车某手机的位置信息,可以使用百度或者高德提供的地图API,本文以百度地图API为例。 获取ak 这是第一步,我们登录百度地图,创建应用获取ak API接口地址 https://api.map.baidu.com/reverse_geocoding/v3/…