在机器学习和数据分析中,欧氏距离是一种常用的距离度量方法。它用于计算两个向量之间的距离,是指在n维空间中两个点之间的直线距离。
一、欧氏距离计算公式
欧氏距离的计算公式如下:
import numpy as np def euclidean_distance(a, b): return np.sqrt(np.sum((a - b) ** 2))
这个公式非常简单,首先平方差值$(a-b)^2$得到两个向量对应维度的差的平方,然后将所有维度的平方差值相加,再开方即可得到欧氏距离。
二、使用NumPy计算欧氏距离
NumPy是Python中常用的科学计算库,使用它可以方便地进行向量和矩阵计算。
我们可以使用NumPy库中的函数`numpy.linalg.norm`来计算欧氏距离:
import numpy as np def euclidean_distance(a, b): return np.linalg.norm(a - b)
其中,`numpy.linalg.norm`函数用于计算向量或矩阵的范数,默认情况下计算二范数(欧氏距离)。
三、应用示例
假设我们有两个向量`a = [1, 2, 3]`和`b = [4, 5, 6]`,我们可以使用上述方法计算它们之间的欧氏距离:
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.196152422706632`,表示向量a和向量b之间的欧氏距离。
四、总结
本文介绍了使用Python计算欧氏距离的方法。通过对两个向量之间的差的平方和的平方根的计算,可以得到欧氏距离。同时,我们也介绍了使用NumPy库进行向量计算和范数计算的方法,可以方便地进行欧氏距离的计算。