📅  最后修改于: 2023-12-03 15:33:13.575000             🧑  作者: Mango
在机器学习和数据科学领域中,经常需要计算两个向量之间的距离。其中一种距离度量方法是欧几里得距离(Euclidean Distance),它是两个向量之间的直线距离。在Python中,我们可以使用NumPy库的np.linalg.norm()函数来计算欧几里得距离。
import numpy as np
# 两个向量
a = np.array([1,2,3])
b = np.array([4,5,6])
# 计算欧几里得距离
distance = np.linalg.norm(a-b)
print(distance)
输出结果:
5.19615242271
NumPy中的np.linalg.norm()函数是一个非常有用的函数,可以计算一个向量的长度或者多维数组中所有元素的平方和的算术平方根。
np.linalg.norm()函数还有以下可选参数:
import numpy as np
# 一维向量
a = np.array([1,2,3])
# 计算向量长度
length = np.linalg.norm(a)
print(length)
# 多维数组
b = np.array([[1,2,3],[4,5,6]])
# 计算所有元素的平方和的平方根
norm = np.linalg.norm(b)
print(norm)
# 沿着行计算向量长度
length_row = np.linalg.norm(b, ord=2, axis=1)
print(length_row)
# 沿着列计算向量长度
length_col = np.linalg.norm(b, ord=2, axis=0)
print(length_col)
输出结果:
3.74165738677
9.53939201416
[3.74165739 8.77496439]
[4.12310563 5.38516481 6.70820393]
以上是np欧几里得距离在Python中计算的介绍。它在机器学习、数据科学等领域中都有广泛的应用。如果需要计算向量之间的距离,欧几里得距离是一个不错的选择。