首页 > 编程知识 正文

Python计算欧氏距离

时间:2023-11-20 15:37:29 阅读:301876 作者:MBRY

在机器学习和数据分析中,欧氏距离是一种常用的距离度量方法。它用于计算两个向量之间的距离,是指在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库进行向量计算和范数计算的方法,可以方便地进行欧氏距离的计算。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。