问题标签 [pdist]

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 投票
1 回答
2115 浏览

python - 在python中查找坐标之间的欧几里得距离

我在 python 中的 pdist 函数有问题。我有点的坐标,我想找到它们之间的距离,但它不将它们视为坐标,而是找到两点之间的距离而不是坐标(它将坐标视为十进制数而不是坐标)。到目前为止,我找不到任何有关如何解决此问题的信息。任何帮助表示赞赏。换句话说,我应该对我的坐标进行任何转换吗?这是一个示例代码:

它给我的结果是 0.55361991 英里,但是当我将坐标放入谷歌地图时,它给了我 42 英里。

谢谢

0 投票
2 回答
275 浏览

python - Python - 根据时间信息(即时、间隔)计算项目之间的相似性

我想根据它们的时间信息计算项目(0,1,2,3..)之间的相似性。时间信息可以是时间瞬间(开始日期)、时间间隔(开始日期、结束日期)或空值(NaT);请参阅下面的数据框(df_for)示例。

在此处输入图像描述

  1. {instant,instant} :如果等于 sim = 1,否则 sim =0
  2. {instant,null} 或反之,sim =0
  3. {instant, interval}:如果区间内的瞬间,sim =1 或者如果一个区间包含一个瞬间,sim = 1
  4. {interval,interval} :如果区间重叠,sim = 两个区间的交集/两个区间的并集
  5. {interval,interval} :如果一个区间包含另一个,则 sim = 1

以下 python 代码从数据帧中获取时间信息并执行上述条件 (1-5)。代码很冗长,我想知道是否有一种聪明的方式/lib来使用python计算时间段和时间瞬间之间的相似性。

0 投票
1 回答
651 浏览

matlab - 具有三变量向量的马氏距离

我在计算一对物体之间的马氏距离时遇到了一些麻烦。我遵循了 MATLAB 的文档,为了计算马氏距离,我必须使用 pdist2:“D = pdist2(X,Y,'mahalanobis',C)"

这给了我错误:

使用 pdist2 时出错(第 282 行) Mahalanobis 度量的协方差矩阵必须是列数与 X 相同的方阵。并且它必须是对称且正定的。

另一方面,如果我尝试:

我得到:

使用 mahal 时出错(第 38 行) X 的行数必须超过列数。

转置 A1,A2 我得到一个 3x1 矩阵,但我很确定我的值必须是一维的。任何帮助将不胜感激。

0 投票
4 回答
241 浏览

python - 到(行,列,距离)列表的距离的numpy数组

我有一个 nd 数组,如下所示:

这个数组中的每个元素都是一个距离,我需要把它变成一个带有行、列、距离的列表,如下所示:

此外,删除对角元素以及元素 (j,i) 作为 (i,j) 已经存在会很酷。本质上,是否可以只取其顶部的三角矩阵?

这是否可以有效地完成(没有很多循环)?我用方形创建了这个数组,但找不到任何文档来做这个。

0 投票
0 回答
267 浏览

python - 通过应用于所有对来提高 scipy pdist 变化性能

我正在尝试在 pandas 数据帧上应用成对欧几里德距离计算的变体来生成边缘列表。

标准欧式距离计算可以是:

我做了欧几里得距离计算的变体:

似乎我的变化比pdistof慢得多,scipy我猜这是由于循环通过配对列表。它占用的内存比pdist我猜想pdist一次将计算应用于所有对。有什么方法可以将我的距离计算也应用于所有对吗?

0 投票
1 回答
557 浏览

python - python如何从scipy压缩距离矩阵中获得适当的距离值

我正在使用带有 scipy 的 python 2.7 来计算数组的距离矩阵。

我不知道如何在返回的压缩矩阵中找到想要的距离值。

查看示例

将打印

我在这里发现压缩矩阵中的 ij 条目应该存储 i 和 j 条目之间的距离,其中 ithread 想知道它们是否意味着 ij 为 i*j 或 str.join(i,j) 例如 1,2 -> 2 或 12 .

我找不到一致的方法来了解想要的索引。

看我的例子,如果第一个选项有效,您应该期望从条目 0 到其他任何地方的所有距离都将存储在条目 0 中。

任何人都可以阐明我如何提取从入口 x 到入口 y 的所需距离吗?我在寻找哪个索引?

谢谢!

0 投票
1 回答
150 浏览

python - 将 pdist 与自定义相关函数一起使用是避免 kappa 分数差异的正确方法吗?

我读了这个,但这没有解决我的问题:我有这个 initial_comparison_frame

你可以这样生成:

(我从 get_dummies 生成另一种方式,但这并没有改变任何东西)

我想建立这些向量的成对距离矩阵,使用 cohen_kappa_score

像这样:

为方便起见,您可以像这样生成:

我的实际问题是这些值与单个值的实际 kappa_score 匹配,对角线除外。既然是距离矩阵,那么一个人到自己的距离确实应该是0,但是,为什么矩阵中的分数不等于1——kappa分数呢?
否则,两个逻辑应用于同一个矩阵,我不明白。所以我相信我犯了一个错误。

谢谢你启发我。

0 投票
3 回答
5026 浏览

python - Python中使用pdist的字符串距离矩阵

如何在 Python 中计算字符串的 Jaro Winkler 距离矩阵?

我有大量手动输入的字符串(名称和记录编号),我正在尝试在列表中查找重复项,包括拼写可能略有不同的重复项。对类似问题的回答建议使用 Scipy 的 pdist 函数和自定义距离函数。我尝试使用 Levenshtein 包中的 jaro_winkler 函数来实现这个解决方案。问题在于 jaro_winkler 函数需要字符串输入,而 pdict 函数似乎需要二维数组输入。

例子:

预期输出 - 像这样:

实际错误:

我假设这是因为 jaro_winkler 函数看到的是 ndarray 而不是字符串,并且我不确定如何在 pdist 函数的上下文中将函数输入转换为字符串。

有没有人建议允许这个工作?提前致谢!

0 投票
1 回答
483 浏览

python - 如何有效地计算不同长度(na内部)系列之间的成对距离?

恢复这个问题用缺失值计算 scipy 中的成对距离

测试用例:我想计算将不同长度的系列的成对距离组合在一起,我必须以最有效的方式进行(使用欧几里得距离)。

使其工作的一种方法可能是:

但我觉得这可能非常低效,因为pdist函数的内置方法在内部进行了优化,而函数只是被传递了。

我有一种预感,我会在numpy其中broadcast进行减法运算,然后继续np.nansum进行na抗性总和,但我不确定如何进行。

0 投票
1 回答
1976 浏览

python - scipy.pdist() 返回 NaN 值

我正在尝试对时间序列进行聚类。簇内元素具有相同的形状但不同的尺度。因此,我想使用相关性度量作为聚类指标。我正在尝试相关性或皮尔逊系数距离(欢迎任何建议或替代方案)。但是,当我运行 Z = links(dist) 时,以下代码会返回错误,因为 dist 中有一些 NaN 值。time_series 中没有 NaN 值,这得到了证实

返回 False

作为替代方案,我将使用皮尔逊距离

但这会产生一些运行时警告并花费大量时间。