[机器学习]练习-KNN算法

1.𝑘近邻法是基本且简单的分类与回归方法。𝑘近邻法的基本做法是:对给定的训练实例点和输入实例点,首先确定输入实例点的𝑘个最近邻训练实例点,然后利用这𝑘个训练实例点的类的多数来预测输入实例点的类。

2.𝑘近邻模型对应于基于训练数据集对特征空间的一个划分。𝑘近邻法中,当训练集、距离度量、𝑘值及分类决策规则确定后,其结果唯一确定。

3.𝑘近邻法三要素:距离度量、𝑘值的选择和分类决策规则。常用的距离度量是欧氏距离及更一般的pL距离。𝑘值小时,𝑘近邻模型更复杂;𝑘值大时,𝑘近邻模型更简单。𝑘值的选择反映了对近似误差与估计误差之间的权衡,通常由交叉验证选择最优的𝑘。常用的分类决策规则是多数表决,对应于经验风险最小化。

4.𝑘近邻法的实现需要考虑如何快速搜索k个最近邻点。kd树是一种便于对k维空间中的数据进行快速检索的数据结构。kd树是二叉树,表示对𝑘维空间的一个划分,其每个结点对应于𝑘维空间划分中的一个超矩形区域。利用kd树可以省去对大部分数据点的搜索, 从而减少搜索的计算量。

距离度量

在机器学习算法中,我们经常需要计算样本之间的相似度,通常的做法是计算样本之间的距离。

设𝑥和𝑦为两个向量,求它们之间的距离。

这里用Numpy实现,设和为ndarray <numpy.ndarray>,它们的shape都是(N,)

𝑑为所求的距离,是个浮点数(float)。

欧氏距离(Euclidean distance)

欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义,指在𝑚�维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。

距离公式:

编写欧氏距离代码
##### 在此处编写或补全代码
import math
def euclidean(x, y):d = 0.for xi, yi in zip(x, y):d += (xi-yi)**2return math.sqrt(d)
a=euclidean([1,2,3], [4,5,6])
计算
a = np.array((2,3))
b = np.array((10,5))
##### 在此处编写或补全代码
op1=np.sqrt(np.sum(np.square(a-b)))  
op2=np.linalg.norm(a-b)  
print(op1)  
print(op2) 

计算结果:

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

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

相关文章

真机 ARM64 架构转模拟器 ARM64 架构

本文字数&#xff1a;2051字 预计阅读时间&#xff1a;15分钟 01 需要转换架构的原因 老版 Mac 使用 Intel 芯片&#xff0c;是x86_64架构&#xff0c;相应地在老版 Mac 上运行的模拟器使用的也就是 x86_64架构。 由于模拟器的 x86_64 架构与真机的 arm64、armv7 等架构不冲突&…

C#手麻系统源码,医院手术麻醉信息系统源码,前端框架:Vue,Ant-Design,后端框架:百小僧开源框架

手术麻醉管理系统覆盖了从患者入院&#xff0c;经过术前、术中、术后&#xff0c;直至出院的全过程。医院手术麻醉系统能够规范麻醉科和手术室的工作流程、实现麻醉手术过程中的信息数字化和网络化、自动生成麻醉手术中的各种医疗文书、完整共享HIS、LIS和PACS等手术患者信息&a…

使用hexo框架快速在github上搭建静态博客

今天来说一下使用hexo框架搭建静态博客&#xff0c;玩玩还不错。 我的操作系统 文章目录 一、部署到本地二、新建博客三、更换主题四、部署到github五、其他 一、部署到本地 首先下载好nodejs和git工具&#xff0c;建议直接去清华镜像源下载 node.js git 这中间环境变量的配置…

Word、Excel、PPT文件转PDF文件(C#)

一、添加依赖 为wpf项目引用Microsoft.Office.Interop.Excel、Microsoft.Office.Interop.PowerPoint、Microsoft.Office.Interop.Word、Office&#xff0c;依赖文件已经打到源代码包里了。 二、先定义一些命名空间 using Word Microsoft.Office.Interop.Word;using Excel M…

首个基于SSM-Transformer混合架构,开源商业大模型Jamba

3月29日&#xff0c;知名AI研究实验室AI21在官网开源了&#xff0c;首个基于SSM-Transformer混合架构的商业大模型——Jamba。 目前&#xff0c;ChatGPT、Stable Difusion 、Lyria等产品使用的皆是Transformer架构&#xff0c;虽然在捕捉序列内长距离依赖关系、泛化能力、特征…

A fatal error occurred: MD5 of file does not match data in flash!问题解决

采用的芯片是ESP32-S3-WROOM&#xff0c;16MB FLASH 开发环境是Arduino&#xff0c;烧录到100%后直接报错。 以为是Arduino的问题&#xff0c;用esp-idf开发的程序&#xff0c; 烧录的过程中&#xff0c;也是直接报错如下&#xff1a; esptool.py v4.7.0 Serial port /dev/…

6.2物联网RK3399项目开发实录-驱动开发之GPIO使用(wulianjishu666)

物联网嵌入式开发源码例程&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1B3oqq5QBhN-VmTFt9CI-7A?pwd2ihg ******************************************************************************************* GPIO 使用 简介 GPIO, 全称 General-Purpose Input/…

环境温度对测量平板有什么影响

环境温度可以对测量平板有影响。温度变化可以导致平板的尺寸发生变化。根据热膨胀原理&#xff0c;当环境温度升高时&#xff0c;平板的尺寸会扩大&#xff1b;当环境温度降低时&#xff0c;平板的尺寸会缩小。这种尺寸变化可能会导致测量结果的误差。因此&#xff0c;在测量平…

OSPF之单区域配置

文章目录 单区域配置项目背景项目分析拓扑图配置思路基础配置命令查看路由器接口IP地址信息OSPF配置 测试PC1与PC2互通查看OSPF邻居表修改OSPF路由器的router-id完美的OSPF配置命令写法常用查询命令 单区域配置 项目背景 企业内部存在多个部门&#xff0c;分别属于不同的网段…

关于Ansible的模块②

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 接《关于Ansible的模块 ①-CSDN博客》&#xff0c;继续学习和梳理Ansible的常用文件类模块 1. copy模块 从当前机器上复制文件到…

婚恋交友APP小程序H5源码交付-支持二开!实名制交友,可服务器审核,亦可后台自己审核!同城交友,多人语音!

一、需求分析 在征婚交友网站开发初期&#xff0c;需求分析是至关重要的环节。这需要深入了解目标用户的需求和期望&#xff0c;包括他们的年龄、职业、兴趣爱好、交友条件等方面。通过收集和分析这些信息&#xff0c;开发团队可以明确网站的目标用户&#xff0c;并为他们提供…

考研数学|高效刷透汤家凤《1800》经验分享

当然不需要换老师&#xff0c;如果你在基础阶段连汤老师的课都听不进去&#xff0c;那么换其他老师的话&#xff0c;很大可能也是白搭。 如果你现在对于1800还是一筹莫展的话&#xff0c;那么很明显&#xff0c;这反映出前期基础不扎实&#xff0c;没有真正理解和掌握这部分内…