使用 NumPy 计算欧氏距离
在 3D 空间中,给定两个点 a = (ax, ay, az) 和 b = (bx , by, bz),表示它们之间的欧式距离as:
dist = sqrt((ax-bx)^2 (ay-by)^2 (az-bz)^2)
如何使用 NumPy 来计算这个距离?
使用 NumPy,你有数组 a 和 b 代表两个点:
导入numpy
a = numpy.array((ax, ay, az))
b = numpy.array((bx, by, bz))
解决方案:
要解决这个问题,请利用numpy.linalg.norm:
dist = numpy.linalg.norm(a-b)
numpy.linalg.norm中ord参数的默认值为2,对应l2范数。由于欧氏距离公式代表 l2 范数,因此该计算可以准确测量点之间的距离。
此功能的理论基础来自于数据挖掘简介,如下所示:
[数据挖掘入门理论解释图片]
以上是NumPy 如何高效计算两个 3D 点之间的欧氏距离?的详细内容。更多信息请关注PHP中文网其他相关文章!