概述
一、欧拉距离
欧几里得距离,也叫欧式距离。
应用举例:
1.先画个图:
代码(在jupyter工具中使用):
import numpy as np
import matplotlib.pyplot as pltX = np.array([
[5,1],
[1,4]
])plt.plot(X[:,0], X[:,1],'r-o')
plt.annotate('a', xy=X[0])
plt.annotate('b', xy=X[1])plt.plot([1,5],[1,1],'g--')
plt.plot([1,1],[1,4],'g--')plt.show()
np.sum((X[0]-X[1])**2)**(1/2) # 求欧拉距离
距离 = √[(Xa - Xb)²+(Ya - Yb)²]
2.数学代入计算得:
3.使用numpy方法计算:
二、曼哈顿距离
运算量相较欧拉距离简单一些
三、明可夫斯基距离
p = 1 时,为曼哈顿距离;
p = 2 时,为欧拉距离;
p >2 时,为明可夫斯基距离。
举例:
1.定义求两点距离的函数,X沿用上文数组
def distance(a, b, p=2):
return np.sum(np.abs(a-b)**p)**(1/p)
2.求欧拉距离
distance(X[0],X[1]) # 欧拉距离
3.求曼哈顿距离
distance(X[0],X[1],p=1) # 曼哈顿距离
4.多特征值数组求其距离
# 生成一个多特征数组
X = np.array([
[5,1,11,6],
[1,4,43,99]
])
最后
以上就是聪明芒果为你收集整理的计算样本之间的距离--欧拉距离、曼哈顿距离和明科夫斯基距离一、欧拉距离二、曼哈顿距离三、明可夫斯基距离的全部内容,希望文章能够帮你解决计算样本之间的距离--欧拉距离、曼哈顿距离和明科夫斯基距离一、欧拉距离二、曼哈顿距离三、明可夫斯基距离所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复