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

文章目录

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


一、欧氏距离与马氏距离

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

二、使用numpy计算欧氏距离

import numpy as npp1 = [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.rhkb.cn/news/176732.html

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

相关文章

Leetcode刷题---多数元素(计数、哈希表、摩尔投票)

题目描述: 思路一: 可以使用暴力破解来解决此问题,但是暴力破解的时间复杂度很高,在leetcode测试的时候爆出来超出时间限制的问题。 代码: class Solution {public int majorityElement(int[] nums) {int nnums.leng…

低代码,程序员提高生产力的开发工具

目录 一、什么是低代码? 二、低代码的本质是什么? 三、低代码平台的搭建能力 四、写在最后 一、什么是低代码? 简单来说,低代码是一种用于应用程序开发的模块化方法,它能有效减少应用程序的开发时间。基于可重用的、组…

新手小白如何自学制作电子画册并分享各大平台

一提到电子画册制作,相信很多人都开始头大了,毕竟对于新手小白来说还是比较难的,那么,新手小白要如何自学制作电子画册并快速分享出去呢,其实只需要一个在线电子画册制作平台FLBOOK就可以了 。 小白该怎样制作电子画册…

数据结构 | 顺序表专题

数据结构 | 顺序表专题 文章目录 数据结构 | 顺序表专题课前准备1. 目标2. 需要的储备知识3. 数据结构相关概念 开始顺序表1、顺序表的概念及结构2、顺序表分类3、动态顺序表的实现初始化顺序表顺序表的销毁顺序表的尾插顺序表的头插检查容量顺序表的尾删打印顺序表顺序表的头删…

塞尔帕替尼/塞普替尼是什么,这篇文章用大白话帮你深入了解

(图片来源于网络) 塞尔帕替尼是一种靶向药物,用于治疗某些类型的癌症。它的全名是Selpercatinib,也被称为LOXO-292。这种药物主要针对一种叫做RET的基因,该基因在某些癌症中发生异常。 那么,为什么要针对…

微信小程序去掉Button自带边框

前言 微信button自带边框 去掉边框后效果 实现 html代码 <view><button class"contactBtn" open-type"contact" contact"handleContact"session-from"sessionFrom">意见反馈</button> </view>css代码 …

oracle 重启步骤及踩坑经验

oracle 重启步骤及踩坑经验 标准重启步骤 切换到oracle用户 su - oracle关闭监听 lsnrctl stop杀掉oracle有关进程 ps -ef|grep $ORACLE_SID|grep -v ora_|grep LOCALNO|awk {print $2}|xargs kill -9#查询pid ps -ef|grep $ORACLE_SID|grep -v ora_|grep LOCALNO|awk {p…

介绍几款Linux 下终极SSH客户端

安全外壳协议&#xff08;Secure Shell&#xff0c;简称 SSH&#xff09;是一种网络连接协议&#xff0c;允许您通过网络远程控制计算机。特别是在Linux命令行模式下&#xff0c;使用SSH&#xff0c;可以很方便管理linux上的运维工作。以下是一些最受欢迎的Linux SSH客户端&…

Jetpack:025-Jetpack中的多点触控事件

文章目录 1. 概念介绍2. 使用方法2.1 缩放事件2.2 旋转事件2.3 平移事件2.4 综合事件 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中滚动事件相关的内容&#xff0c;本章回中主要介绍 多点解控事件。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xf…

音视频开发:音频编码原理+采集+编码实战

原理&#xff1a; 消除冗余信息&#xff0c;压缩量最大&#xff0c;也叫有损压缩 剔除人耳听觉范围外的音频信号20Hz以下和20000Hz以上&#xff1b;去除被掩蔽的音频信号&#xff0c;信号的遮蔽可以分为频域遮蔽和时域遮蔽&#xff1b;频域遮蔽效应 屏蔽70分贝以下&#xff0…

Qt 使用Quazip解压缩、压缩文件

1.环境搭建 Quazip&#xff0c;是在zlib基础上进行了简单封装的开源库&#xff0c;适用于多种平台&#xff0c;利用它可以很方便将单个或多个文件打包为zip文件&#xff0c;且打包后的zip文件可以通过其它工具打开。 下载Quazip QuaZIP download | SourceForge.net 解压后&…

利用ChatGPT进行股票走势分析

文章目录 1. 股票分析2. 技巧分析3. 分析技巧21. 股票分析 这张图片显示了一个股票交易软件的界面。以下是根据图片内容的一些解读: 股票代码: 图片右上角显示的代码是“600517”,这是股票的代码。 图形解读: 该图展示了股票的日K线图。其中,蜡烛图表示每日的开盘、收盘、最…

力扣第62题 不同路径 c++ 动态规划 dp二维 + dp一维 解法

题目 62. 不同路径 中等 相关标签 数学 动态规划 组合数学 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Fini…

电商课堂|5分钟了解电商数据分析完整流程,建议收藏!

账户效果下降&#xff0c;如何能够快速找到问题并优化调整&#xff1f; 相信百分之90%的竞价员都会说&#xff1a;“做数据分析。” 没错&#xff0c;数据分析能够帮助我们快速锁定问题所在&#xff0c;确定优化方向&#xff0c;还可以帮助我们找到流量控制的方向。那么做电商&…

译文:我们如何使 Elasticsearch 7.11 中的 date_histogram 聚合比以往更快

这篇文章是ES7.11版本的文章&#xff0c;主要学习的是思路&#xff0c;记录在这里留作以后参考用。 原文地址&#xff1a;https://www.elastic.co/cn/blog/how-we-made-date-histogram-aggregations-faster-than-ever-in-elasticsearch-7-11 正文开始&#xff1a; Elasticsea…

【C++的OpenCV】第十五课-OpenCV的绘图工具(rectangle、circle、line、polylines、putText)常用方法简介

&#x1f389;&#x1f389;&#x1f389; 欢迎各位来到小白 p i a o 的学习空间&#xff01; \color{red}{欢迎各位来到小白piao的学习空间&#xff01;} 欢迎各位来到小白piao的学习空间&#xff01;&#x1f389;&#x1f389;&#x1f389; &#x1f496; C\Python所有的入…

大数据预处理与采集实验三:Urllib的GET和POST请求(1)

目录 Urllib基本操作-GET ➢没有进行utf-8编码的输出 ➢经过utf-8decode之后的输出 ➢ Timeout参数&#xff1a;捕获由于连接超时而引发的异常 ◆Urllib基本操作-定制请求头 ➢ 在GET请求中加入多个访问参数 ◆Urllib基本操作-POST ➢有道词典网页爬取&#xff1a;找到…

Linux基本网页访问--防火墙、服务管理、selinux强制访问

正常访问外部网络需要进行4部操作操作&#xff1a; 1、开启httpd服务systemctl restart httpd 2、关闭防火墙服务 systemctl stop firewalld 3、访问数据库时&#xff0c;需要开启数据库的服务systemctl restart mariadb 4、关闭强制访问 setenforce 0 1、防火墙管理 firewal…

有了定时关机,省时省力!如何在Windows 11中设置自动关机

你有时会忘记关闭Windows 11吗?如果是这样的话,也许你应该考虑安排关机时间,以确保你的电脑在忘记选择关机时也能关机。 当你需要等待大型游戏下载完成时,安排关闭也是一个好主意。你可以用一个相对简单的命令在Windows 11中设置自动关机。 计时器将在指定的倒计时时间过…

表白墙(服务器)

目录 0.需求 1.创建Maven项目 2.给pom.xml内引入三个依赖 3.完善目录&#xff0c;并补充web.xml中的内容 4.编写代码 后端代码 ​编辑前端代码 5.引入数据库 创建message表 创建工具类 往MessageServlet类中添加方法 0.需求 前面写好了表白墙页面&#xff0c;但存…