杂记 | 使用numpy计算欧氏距离和马氏距离示例

news2025/7/21 5:12:37

文章目录

  • 一、欧氏距离与马氏距离
  • 二、使用numpy计算欧氏距离
  • 三、使用numpy计算马氏距离


一、欧氏距离与马氏距离

这里引用GPT4的回答:
在这里插入图片描述

二、使用numpy计算欧氏距离

import numpy as np

p1 = [1, 2, 3]
p2 = [4, 5, 6]
point1 = np.array(p1)
point2 = np.array(p2)

euclidean_distance = np.linalg.norm(point1 - point2)

三、使用numpy计算马氏距离

import numpy as np

# 生成模拟数据
np.random.seed(42)  # 设置随机种子以确保结果可复现
data = np.random.multivariate_normal(mean=[5, 5], cov=[[2, 1], [1, 2]], size=100)  # 生成100个二维的随机点

# 计算数据的协方差矩阵
covariance_matrix = np.cov(data, rowvar=False)

# 计算协方差矩阵的逆
inverse_covariance_matrix = np.linalg.inv(covariance_matrix)

# 定义两个点
point1 = np.array([4, 4])
point2 = np.array([6, 6])

# 计算马氏距离
diff = point1 - point2
mahalanobis_distance = np.sqrt(diff.T.dot(inverse_covariance_matrix).dot(diff))

print("马氏距离:", mahalanobis_distance)

马氏距离与欧氏距离的最大不同之处在于,马氏距离考虑了数据的协方差结构,首先将列转换为不相关的变量,然后缩放列以使其方差等于1,最后计算出加强版欧几里得距离。

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

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

相关文章

金山文档轻维表做数据库结合油猴脚本检索

脚本里面新建查询脚本(记录脚本webhook和脚本令牌) const records Application.Record.GetRecords({ SheetId: 1 }) console.log(records.records) return {data: records.records, } 油猴脚本 // UserScript // name 油猴辅助器 // namespa…

【备忘录】SpringBoot+ dynamic-datasource配置自定义多数据源

一、 业务场景解释 由于公司业务需要开发设计一款文件读取导入工具,导入的配置和目标数据库并不一定在同一个数据库地址,故需要使用到自定义数据源,并且支持数据源切换 大致场景如下: 二、工具选择 鉴于市面上有很多工具&#…

Leetcode刷题详解——计算布尔二叉树的值

1. 题目链接:2331. 计算布尔二叉树的值 2. 题目描述: 给你一棵 完整二叉树 的根,这棵树有以下特征: 叶子节点 要么值为 0 要么值为 1 ,其中 0 表示 False ,1 表示 True 。非叶子节点 要么值为 2 要么值为 …

【进程】利用 Linux 下的 /proc/pid/ 的内容学习进程

1. 进程号 在计算机中,每一个进程都有一个进程号,进程号类似于一个索引,操作系统就是通过这个进程号快速地找到进程。在 linux 使用 ps -aux 查看进程,可以看到进程号pid: rootswd-Lenovo-G40-80:/proc/4234# ps -au…

建站起步-如何选择域名

如何选择合适的域名 如何选择合适的域名 我们所看到的网站是由域名加空间服务器加网站程序组成的,往往我们用户最先看到的就是网站的域名,因为网站内容加载往往需要时间,所以最先展示的就是我们网站的域名了。域名就跟我们手机号一样具有唯一性,当我们没有及时续费时,就…

LibTorch实战三:C++版本YOLOV5.4的部署

目录 一、环境配置 二、.torchscript.pt版本模型导出 三、C版本yolov5.4实现 四、问题记录 4.1、注释 detector.h中,注释如下头文件 4.2、错误: “std”: 不明确的符号 4.3、建议常被debug版本libtorch 4.4、问题:编译成功后&#xff…

信息系统项目管理师教程 第四版【第10章-项目进度管理-思维导图】

信息系统项目管理师教程 第四版【第10章-项目进度管理-思维导图】 课本里章节里所有蓝色字体的思维导图

Ardupilot开源飞控之Wiki修改操作

Ardupilot开源飞控之Wiki修改操作 1. 源由2. 页面编辑修改2.1 Step 1: 申请Github账号2.2 Step 2: 选择修改页面2.3 Step 3: 修改页面内容2.4 Step 4: 提交修改2.5 Step 5: 新增PR 3. 增删页面修改3.1 Step 1: 克隆本地的Ardupilot Wiki3.2 Step 2: 搭建本地验证环境3.3 Step 3…

【Android知识笔记】换肤专题

换肤其实也属于插件化专题的一个子话题,之所以单独拿出来,是因为它的处理方式比较特殊,相比插件化而言较简单一些。 系统内置的换肤功能支持 - Theme Android 系统中如果想修改应用的背景色,最简单的就是利用以下Theme相关的属性: 使用这些内置的属性可以实现一定程度上…

SAP-MM-查找物料修改记录

业务场景: 仓管员修改了物料描述,研发部想要查哪些被修改了, 底表:CDHDR、CHPOS 首先在底表CDHDR中查找用户名的操作记录, 输入修改代码、时间范围、用户名 执行,生产数据 导出数据,复制文档编号&#…

身份证OCR:变革的触手,掀起识别的革命

身份证OCR识别技术(Optical Character Recognition)是一项将身份证上的文字信息转化为可编辑、搜索、存储、分享的电子文本的技术。它的发展与信息技术和身份认证需求的不断演进密切相关。以下将简要介绍身份证OCR识别技术的历史以及兴起背景。 OCR识别…

Windows个性化颜色睡眠后经常改变

问题再现 我把系统颜色换成了一种红色,结果每次再打开电脑又变回去了(绿色); 原因是因为wallpaper engine在捣蛋 需要禁用修改windows配色这一块选项; 完事!原来是wallpaper engine的问题;

什么是Webpack的loader和plugin?它们的作用是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

这个电力问题难倒90%的人,但我只用一招就搞定!

随着现代社会对电力需求的不断增加,配电系统的可靠性和安全性变得至关重要。为了确保电力系统的稳定运行,配电柜监控系统应运而生。 配电柜监控系统通过实时监测和控制电力分配,提供了对电力系统状态的详细洞察,以帮助运维人员及时…

不同阶段品牌的种草策略是什么,小红书打法分析!

不同阶段的品牌在制定营销目标,规划营销策略,执行营销方案时的操作,也有所不同。所以,今天我们以品牌的发展阶段为基准,与大家探讨一下,不同阶段品牌的种草策略是什么,小红书打法分析&#xff0…

[UDS] --- TesterPresent 0x3E

1 0x3E功能描述 这个服务的目的是确保诊断服务或者之前激活的通信还处在激活的状态,可以保持当前的非默认(Default Session)会话,通过周期地发送请求帧来阻止自动跳转回默认(Default Session)会话。 2 0x…

写博客的模板

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》作者 公众号:山峯草堂,非技术多篇文章,专注于天道酬勤的 Java 开发问题、中国国学、传统文化和代码爱好者的程序人生,…

Scan2BIM实战:从3D扫描到BIM模型生成

最近,我被问过很多次这个问题,所以我想我会尽力传达答案。 我应该指出,以下是概述,而不是非常详细的分步过程。 有很多因素会决定这项工作; 详细程度、扫描设备、点云配准软件和 CAD 软件等。 由于不知道你可能拥有或感…

电池内阻仪原理分析

前言 整理电脑看到一个名为“内阻仪”的文档,打开看了一下,记录一下; 前置知识 测内阻就是测电阻,核心原理:RU/I; U:这里面是交流激励信号; I:这里是恒流激励 电路与…

redirect_uri 参数错误

当微信登陆报redirect_uri 参数错误,网上很多人说是域名配置有问题,我在检查过后没发现这个有什么问题,然后我在redirect_uri的授权回调域 前面加上https://就好了 appid"appid" :scope"snsapi_login" :theme&quo…