python 实现euclidean distance欧式距离算法
euclidean distance欧式距离算法介绍
欧式距离(Euclidean Distance)是度量两点之间距离的一种常用方法,特别是在多维空间中。它基于欧几里得几何中的距离定义,即两点间的直线距离。
在二维空间中,假设有两个点
P
1
(
x
1
,
y
1
)
P_1(x_1,y_1)
P1(x1,y1) 和
P
2
(
x
2
,
y
2
)
P_2(x_2,y_2)
P2(x2,y2),则它们之间的欧式距离 𝑑 可以通过以下公式计算:
d
=
(
x
2
−
x
1
)
2
+
(
y
2
−
y
1
)
2
d=\sqrt{(x_2−x_1)^2+(y_2−y_1)^2}
d=(x2−x1)2+(y2−y1)2
这个公式可以很容易地扩展到更高维度的空间。例如,在三维空间中,假设有两个点
P
1
(
x
1
,
y
1
,
z
1
)
P_1(x_1,y_1,z_1)
P1(x1,y1,z1) 和
P
2
(
x
2
,
y
2
,
z
2
)
P_2(x_2,y_2,z_2)
P2(x2,y2,z2),则它们之间的欧式距离 𝑑可以通过以下公式计算:
d
=
(
x
2
−
x
1
)
2
+
(
y
2
−
y
1
)
2
+
(
z
2
−
z
1
)
2
d=\sqrt{(x_2−x_1)^2+(y_2−y_1)^2+(z_2−z_1)^2}
d=(x2−x1)2+(y2−y1)2+(z2−z1)2
对于 𝑛 维空间中的两个点
P
1
(
x
1
,
y
1
,
z
1
,
.
.
.
,
p
1
)
P_1(x_1,y_1,z_1,...,p_1)
P1(x1,y1,z1,...,p1) 和
P
2
(
x
2
,
y
2
,
z
2
,
.
.
.
,
p
2
)
P_2(x_2,y_2,z_2,...,p_2)
P2(x2,y2,z2,...,p2),它们之间的欧式距离 𝑑 的一般公式为:
d
=
∑
i
=
1
n
(
p
2
i
−
p
1
i
)
2
d=\sqrt{\sum_{i=1}^{n}(p_2^i−p_1^i)^2}
d=i=1∑n(p2i−p1i)2
其中, p 1 i p_1^i p1i和 p 2 i p_2^i p2i 分别代表点 P 1 P_1 P1和 P 2 P_2 P2在第 𝑖 维上的坐标。
欧式距离因其直观性和易于计算而广泛应用于多种领域,如机器学习中的 K-最近邻(K-NN)算法、聚类分析等。然而,它也有其局限性,比如对于某些特定的问题(如高维空间中的距离度量),可能需要考虑使用其他类型的距离度量方法。
euclidean distance欧式距离算法python实现样例
可以使用以下代码来实现欧式距离算法:
import math
def euclidean_distance(point1, point2):
distance = 0
# 检查两个点的维度是否相同
if len(point1) != len(point2):
raise ValueError("Points must have the same number of dimensions")
# 计算每个维度的差的平方和
for i in range(len(point1)):
distance += math.pow(point1[i] - point2[i], 2)
# 计算平方和的平方根
distance = math.sqrt(distance)
return distance
使用示例:
point1 = [1, 2, 3]
point2 = [4, 5, 6]
distance = euclidean_distance(point1, point2)
print(distance)
输出结果:
5.196152422706632