如何用python计算距堪培拉的距离(举例)


两个向量 A 和 B 之间的堪培拉距离计算如下:

距堪培拉的距离 = Σ |A i -B i | / (|A i | + |B i |)

金子:

  • A i :向量 A 的第 i 个
  • B i :向量 B 中的第 i

例如,假设我们有以下两个向量:

  • A = [2, 4, 4, 6]
  • B = [5, 5, 7, 8]

我们将计算 A 和 B 之间的堪培拉距离如下:

  • 距堪培拉的距离 = |2-5|/(2+5) + |4-5|/(4+5) + |4-7|/(4+7) + |6-8|/(6+8 ) )
  • 距堪培拉的距离 = 3/7 + 1/9 + 3/11 + 2/14
  • 距堪培拉的距离 = 0.95527

这两个向量之间的堪培拉距离是0.95527

以下示例演示如何在 Python 中计算这两个精确向量之间的堪培拉距离。

示例:用 Python 计算距堪培拉的距离

首先,我们创建一个 NumPy 数组来保存每个向量:

 import numpy as np

#define two arrays
array1 = np. array ([2, 4, 4, 6])
array2 = np. array ([5, 5, 7, 8])

然后,我们可以使用Python中SciPy包中的canberra()函数来计算两个向量之间的堪培拉距离:

 from scipy. spatial import distance

#calculate Canberra distance between the arrays
distance. canberra (array1, array2)

0.9552669552

两个向量之间的堪培拉距离为0.95527

请注意,该值与我们之前手动计算的值相对应。

注意:您可以在此处SciPy包中找到canberra()函数的完整文档。

其他资源

以下教程解释了如何在 Python 中计算其他常见距离度量:

如何在Python中计算欧几里德距离
如何用 Python 计算曼哈顿距离
如何在 Python 中计算汉明距离
如何在 Python 中计算马氏距离
如何在Python中计算编辑距离

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注