計算Python Numpy向量之間的歐氏距離例項
阿新 • • 發佈:2020-05-25
計算Python Numpy向量之間的歐氏距離,已知vec1和vec2是兩個Numpy向量,歐氏距離計算如下:
import numpy
dist = numpy.sqrt(numpy.sum(numpy.square(vec1 - vec2)))
或者直接:
dist = numpy.linalg.norm(vec1 - vec2)
補充知識:Python中計算兩個資料點之間的歐式距離,一個點到資料集中其他點的距離之和
如下所示:
計算數兩個資料點之間的歐式距離
import numpy as np def ed(m,n): return np.sqrt(np.sum((m - n) ** 2)) i = np.array([1,1]) j = np.array([3,3]) distance = ed(i,j) print(distance)
在jupyter 中運輸程式碼輸出結果如下:
計算一個點到資料集中其他點的距離之和
from scipy import * import pylab as pl all_points = rand(500,2) pl.plot(all_points[:,0],all_points[:,1],'b.') pl.show()
在jupyter 中運輸程式碼輸出結果如下:
from scipy import * import pylab as pl all_points = rand(500,'b.') pl.show()
定義函式計算距離
def cost(c,all_points): #指定點,all_points:為集合類的所有點
return sum(sum((c - all_points) ** 2,axis=1) ** 0.5)
以上這篇計算Python Numpy向量之間的歐氏距離例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。