问题标签 [pairwise-distance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
11346 浏览

python - pytorch如何计算矩阵成对距离?为什么“自我”距离不为零?

如果这是一个幼稚的问题,请原谅我,我的测试代码是这样的:

结果:

问题是:

  1. pytorch如何计算成对距离?是计算行向量距离吗?

  2. 为什么'self'距离不是0?


更新

将 list_1 和 list_2 更改为此后:

结果变为:

0 投票
3 回答
729 浏览

r - 生成成对的“距离”矩阵

我正在尝试从包含两个相邻点之间距离的数据框中生成我最能描述为成对距离矩阵的内容。这些不是欧几里得距离,它们本质上是海岸线上点之间的距离,因此距离不是直线。我能够riverdist使用地理空间数据在包中生成一个距离矩阵,但这只是两个点之间的完整距离,我现在正试图做点之间这个距离的一个子集。

我一直在寻找一种方法来做到这一点,并且一直空手而归。任何帮助将非常感激。

这是一个例子:

我有这个数据:

我想产生以下“距离”矩阵:

对于此任务,原始数据可能会更好地组织如下:

有什么建议吗?

0 投票
1 回答
200 浏览

matlab - 成对相似性和排序样本

以下是我试图解决的作业中的一个问题:

相似度矩阵的可视化。用一个四维向量(萼片长度、萼片宽度、花瓣长度、花瓣宽度)表示每个样本。对于每两个样本,计算它们的成对相似度。您可以使用欧几里得距离或其他度量来执行此操作。这导致相似度矩阵,其中元素 (i,j) 存储样本 i 和 j 之间的相似度。请对所有样本进行排序,以便同一类别的样本一起出现。使用函数 imagesc() 或任何其他函数可视化矩阵。

这是我到目前为止编写的代码:

现在,我认为我的编码基本上可以回答这个问题。我的问题是如何对所有样本进行排序,以便同一类别的样本一起出现,因为我在创建副本时去掉了名称。它是否已经通过转换为方形进行了排序?其他建议?谢谢!

0 投票
0 回答
91 浏览

python - pandas DataFrame中条件成对行操作的最有效方法

我有一个包含大约 10 6行的 pandas DataFrame 'df' 。现在我想执行以下代码:

这样做最有效的方法是什么?

0 投票
4 回答
2495 浏览

python - sklearn 的 pairwise_distances with metric='correlation' 有什么作用?

我在这个函数中输入了不同的值并观察了输出。但是我在输出的内容中找不到可预测的模式。

然后我尝试挖掘函数本身,但它令人困惑,因为它可以进行许多不同的计算。

根据文档

我看到它返回一个高度和宽度矩阵,等于输入的嵌套列表的数量,这意味着它正在比较每个列表。

但除此之外,我很难理解它在做什么以及价值来自哪里。

我试过的例子:

用 Scipy 计算相关距离

2.22044605e-16如果 scipy 返回0.0相同的输入,我不明白 sklearn值的来源。

我不是在寻找高级别的解释,而是如何计算数字的示例。

0 投票
2 回答
1282 浏览

python - 混合数值和分类数据的观测值之间成对距离计算的有效实现

我正在做一个数据科学项目,我必须计算数据集中每对观察值之间的欧几里得距离。

由于我正在处理非常大的数据集,因此我必须使用成对距离计算的有效实现(在内存使用和计算时间方面)。

一种解决方案是使用pdistScipy 中的函数,它以一维数组的形式返回结果,没有重复的实例。

但是,此函数无法处理分类变量。对于这些,我想在值相同时将距离设置为 0,否则设置为 1。

我试图用 Numba 在 Python 中实现这个变体。该函数将包含所有观察值的 2D Numpy 数组和包含变量类型(float64category)的 1D 数组作为输入。

这是代码:

尽管使用了 Numba,但此实现非常慢。是否可以改进我的代码以使其更快?

0 投票
1 回答
579 浏览

python-3.x - 处理 NaN 的成对距离

我有一个数据透视表,我想从中计算每天之间的成对距离矩阵。由于我的数据集包含 NaN 值,因此当我使用 sklearn 成对距离时,它对我产生了影响。

我喜欢是否有办法克服这个问题?

数据透视表 X 是这样的:

我面临以下错误:

ValueError:输入包含 NaN、无穷大或对于 dtype('float64') 而言太大的值

0 投票
1 回答
586 浏览

numpy - 使用pairwise_distances_chunked找到成对余弦距离矩阵的优化方法

我有一个 42000(行)* 110000(维度)的 numpy 数组,我正在尝试创建一个具有 32GB 内存和 8 个内核的成对距离矩阵(42000*42000)。

我尝试了 pairwise_distances_chunked 但它只给出 3120*42000 距离矩阵。也使用了 pairwise_distances 但它给出了内存不足的错误。

有什么建议可以做什么?

0 投票
2 回答
502 浏览

algorithm - 一维点的成对距离

是否可以比 O(n^2) 更快地计算一维中一组点的成对距离(所有点都在一条线上)?

0 投票
4 回答
62 浏览

r - 加快计算 R 中逐点差的总和

假设我有两个数据集。第一个是:

第二个是:

我想做的是计算每一行xtest和每一行之间的距离之和xtrain。例如:

我目前拥有的是使用两个 for 循环(见下文),我认为它不能处理大型数据集:

我想就如何修改代码以提高效率征求建议。先感谢您!希望有好的讨论!