当数据不是概率分布,而是两个样本集合,并且想计算它们之间的Earth Mover‘s Distance (EMD),简单写了一个程序,后续还可以对权值进行改进

在这里插入图片描述

@[TOC](Earth Mover’s Distance (EMD))

1. 程序代码

import numpy as np
import ot# 生成两个样本集合
sample_set1 = np.random.rand(100, 2)  # 假设第一个样本集合是二维空间中的100个点
sample_set2 = np.random.rand(80, 2)   # 假设第二个样本集合是二维空间中的80个点# 计算距离矩阵
M = ot.dist(sample_set1, sample_set2)# 计算 Earth Mover's Distance(EMD)
emd_distance = ot.emd2([], [], M)print("两个样本集合之间的 Earth Mover's Distance(EMD):", emd_distance)

2. 解释

我们首先生成了两个二维空间中的样本集合 sample_set1 和 sample_set2。然后,我们使用 POT 库的 ot.dist() 函数计算了这两个样本集合之间的距离矩阵 M。最后,我们调用 ot.emd2() 函数来计算这两个样本集合之间的 Earth Mover’s Distance(EMD)。

请注意,这个示例中,我们使用了一个空的概率分布来代替两个样本集合的概率分布,因为两个样本集合本身就是数据点,而不是概率分布。

3. 总结

ot 是 POT(Python Optimal Transport)库的一个常用的别名。POT 是一个 Python 库,专门用于处理最优输运问题,其中包括计算 Earth Mover’s Distance(EMD)距离。

要安装 POT 库,你可以使用 pip 命令,在命令行中运行以下命令:

pip install POT

安装完成后,你就可以在 Python 中导入 ot 模块来使用 POT 库。POT 提供了 ot.emd2() 函数,用于计算两个分布之间的 Earth Mover’s Distance(EMD)距离。

POT 库之所以能够计算 EMD 距离,是因为它实现了多种最优输运算法,包括基于线性规划的方法和 Sinkhorn 近似算法。这些算法可以有效地计算两个分布之间的最小成本。通过使用 POT 库,你可以方便地计算 EMD 距离,并且在不同的数据集上进行优化和比较。

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

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

相关文章

【JavaScript】JavaScript 程序流程控制 ⑦ ( do-while 循环概念 | do-while 循环语法结构 )

文章目录 一、while 循环1、while 循环概念2、do-while 循环语法结构 二、do-while 循环代码示例1、打印 1-5 数字2、打印 1-10 累加和 一、while 循环 1、while 循环概念 JavaScript 中的 do-while 循环 是 while 循环的变体 , 是 一种 后测试 循环 , 该循环的 循环体 至少执行…

计算机网络安全 —— 非对称加密算法 RSA 和数字签名

一、非对称加密算法基本概念 ​ 在对称密钥系统中,两个参与者要共享同一个秘密密钥。但怎样才能做到这一点呢?一种是事先约定,另一种是用信使来传送。在高度自动化的大型计算机网络中,用信使来传送密钥显然是不合适的。如果事先约…

(Linux学习十四)定时任务和循环任务介绍

1.定时任务 一次性调度执行 at //语法 at 时间<TIMESPEC>TIMESPEC: now 5min //当前时间五分钟 teatime tomorrow(teatime is 16:00) //明天下午16:00 noon 4days //4天 5pm august 3 2029 4:00 2019-11-27例子&#xff1a; 设置一个定时任务创建用户的任务 …

C语言中顺序结构的程序设计

顺序结构是程序设计中最基本的一种结构&#xff0c;也是C语言中最常见的一种编程方式。顺序结构指的是程序按照顺序一条一条地执行&#xff0c;从上到下&#xff0c;每一条语句都按照先后顺序执行&#xff0c;直到程序结束。本文将深入介绍C语言中顺序结构的程序设计&#xff0…

如何高效利用京东商品详情API接口获取商品信息

如何高效利用京东商品详情API接口获取商品信息 请求示例&#xff0c;API接口接入Anzexi58 在电商领域&#xff0c;快速、准确地获取商品信息对于提升用户体验、优化销售策略以及进行市场分析至关重要。京东作为国内领先的电商平台&#xff0c;其开放的商品详情API接口为开发者…

大模型prompt工程学习(一)

目录 调prompt的方法 prompt时好时不好 大模型本质是没有记忆的 划重点:我们发给大模型的 prompt&#xff0c;不会改变大模型的参数 ГLets think step by step」 一步步分析一下 自洽性&#xff0c;同时跑多次&#xff0c;来减少幻觉 逻辑&#xff0c;基本能力来是要有…

胜意科技2024:不做追风者,只做领风人

在浩瀚的商业大洋中&#xff0c;一位航海家扬起了探索的风帆&#xff0c;他的目标是一片未知的领域&#xff0c;那里隐藏着费用管理的神秘宝藏。海图上没有标记&#xff0c;前人的脚步稀少&#xff0c;但他的心中燃烧着发现新大陆的渴望。他的船只&#xff0c;坚固而轻快&#…

三相四线智能电表直接接入式接线图

大家好&#xff0c;今天我们要聊的是三相四线智能电表的直接接入式接线方式。别担心&#xff0c;我会用简单易懂的语言来解释这个看似复杂的主题。 首先&#xff0c;我们得知道什么是三相四线电表。在我们的生活中&#xff0c;电力供应通常分为单相和三相。三相电&#xff0c;就…

5个便宜的OV通配符SSL证书品牌

在当今互联网时代&#xff0c;网络安全、数据安全备受关注&#xff0c;作为网站拥有者&#xff0c;保护用户隐私数据安全变得越来越重要。其中&#xff0c;SSL证书是保障网站传输数据安全的关键&#xff0c;而在众多的选择中&#xff0c;OV通配符SSL证书以其验证显示企业身份、…

文件操作函数

目录 前言 一、顺序读写函数 1、fgetc 和 fputc 2、fgets 和 fputs 3、fprintf 和 fscanf 4、sscanf 和 sprintf 5、fwrite 和 fread 二、随机读写函数 1、fseek 2、ftell 3、rewind 前言 本章我们学习一下文件操作相关的各种函数 一、顺序读写函数 1、fgetc 和 fpu…

vue h5使用postcss-pxtorem

1、安装我们所需要的依赖 npm install lib-flexiblenpm install postcss-pxtorem 2、在main.js中引入lib-flexible import lib-flexible/flexible 3、在项目根目录中创建文件 postcss.config.js module.exports {plugins: {autoprefixer: {},"postcss-pxtorem": …

小白一次过软考高级(信息系统项目管理师)秘籍,请收藏!!!

作为一位软考老司机&#xff0c;我觉得我还是有资格说一说的。 我的考试成绩&#xff1a; 高级软考考试基础信息&#xff1a; 考试科目&#xff1a;总共分为3科&#xff0c;综合知识、案例分析、论文 成绩&#xff1a;满分75分&#xff0c;45分及格&#xff0c;需同时通过3科…