赞
踩
目录
在KNN算法中,通常使用欧氏距离表达k个数据之间的最短距离,又称欧几里得度量,最常见的两个点或多个点之间的距离表示,指在m维空间里两个点之间的真实距离。
二维空间中,有a(x1,y1)和b(x2,y2)两点,则其两点之间的欧氏距离为:
三维空间中,有a(x1,y1,z1)和b(x2,y2,z2)两点,使用下列公式表达其两点之间的欧氏距离:
在n维空间中,有和
两点,距离公式表达为:
在python中,借助Numpy库,将两点坐标集合转换为数组,进行计算,下列为具体实现代码:
- import numpy as np
-
- def flist(a,b):
- return np.sqrt(sum(np.power((a - b), 2)))
- X = np.array([1,2,3])
- Y = np.array([0,1,2])
- print(flist(X,Y))
x,y分别对应a点和b点的坐标,上述代码为三维空间两点之间的欧氏距离,空间维数与数组中数字个数对应。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。