网站设计书,中企建设网站,html菜鸟入门教程,wordpress 后台空白1 pdist
计算n维空间中观测点之间的成对距离。
scipy.spatial.distance.pdist(X, metriceuclidean, *, outNone, **kwargs)
1.1 主要参数
X一个m行n列的数组#xff0c;表示n维空间中的m个原始观测点metric使用的距离度量out输出数组。如果非空#xff0c;压缩的距离矩阵…1 pdist
计算n维空间中观测点之间的成对距离。
scipy.spatial.distance.pdist(X, metriceuclidean, *, outNone, **kwargs)
1.1 主要参数
X一个m行n列的数组表示n维空间中的m个原始观测点metric使用的距离度量out输出数组。如果非空压缩的距离矩阵Y将存储在此数组中
1.2 举例
import numpy as np
from scipy.spatial.distance import pdistx np.array([[2, 0, 2], [2, 2, 3], [-2, 4, 5], [0, 1, 9], [2, 2, 4]])
#5个元素每个元素3维pdist(x)
#array([2.23606798, 6.40312424, 7.34846923, 2.82842712, 4.89897949,6.40312424, 1. , 5.38516481, 4.58257569, 5.47722558])10个元素分别表示第1个点和第2个点之间的距离
第1个点和第3个点之间的距离
第1个点和第4个点之间的距离
第1个点和第5个点之间的距离
第2个点和第3个点之间的距离
第2个点和第4个点之间的距离
第2个点和第5个点之间的距离
第3个点和第4个点之间的距离
第3个点和第5个点之间的距离
第4个点和第5个点之间的距离2 cdist
计算两个输入集合中每对元素之间的距离
scipy.spatial.distance.cdist(XA, XB, metriceuclidean, *, outNone, **kwargs)
2.1 主要参数
XAmA*n的矩阵表示mA个元素每个元素n维特征XBmBn的矩阵表示mB个元素每个元素n维特征metric使用的距离度量out输出数组mA*mB)。如果非空压缩的距离矩阵Y将存储在此数组中
2.2 举例
import numpy as np
from scipy.spatial.distance import cdistx np.array([[2, 0, 2], [2, 2, 3], [-2, 4, 5], [0, 1, 9], [2, 2, 4]])cdist(x,x)array([[0. , 2.23606798, 6.40312424, 7.34846923, 2.82842712],[2.23606798, 0. , 4.89897949, 6.40312424, 1. ],[6.40312424, 4.89897949, 0. , 5.38516481, 4.58257569],[7.34846923, 6.40312424, 5.38516481, 0. , 5.47722558],[2.82842712, 1. , 4.58257569, 5.47722558, 0. ]])
y[[1,2,3]]
cdist(x,y)array([[2.44948974],[1. ],[4.12310563],[6.164414 ],[1.41421356]])
cdist(y,x)array([[2.44948974, 1. , 4.12310563, 6.164414 , 1.41421356]])3 squareform
将距离向量的向量形式转换为方阵形式的距离矩阵反之亦然。
scipy.spatial.distance.squareform(X, forceno, checksTrue)3.1 举例
import numpy as np
from scipy.spatial.distance import *x np.array([[2, 0, 2], [2, 2, 3], [-2, 4, 5], [0, 1, 9], [2, 2, 4]])dist_vecpdist(x)
dist_vecarray([2.23606798, 6.40312424, 7.34846923, 2.82842712, 4.89897949,6.40312424, 1. , 5.38516481, 4.58257569, 5.47722558])
dist_matsquareform(dist_vec)
dist_matarray([[0. , 2.23606798, 6.40312424, 7.34846923, 2.82842712],[2.23606798, 0. , 4.89897949, 6.40312424, 1. ],[6.40312424, 4.89897949, 0. , 5.38516481, 4.58257569],[7.34846923, 6.40312424, 5.38516481, 0. , 5.47722558],[2.82842712, 1. , 4.58257569, 5.47722558, 0. ]])
squareform(dist_mat)array([2.23606798, 6.40312424, 7.34846923, 2.82842712, 4.89897949,6.40312424, 1. , 5.38516481, 4.58257569, 5.47722558])4 directed_hausdorff
计算两个二维数组之间的定向豪斯多夫距离通常用于衡量两个点集合的相似性
scipy.spatial.distance.directed_hausdorff(u, v, seed0)
数学笔记/scipy 笔记豪斯多夫距离Hausdorff _python 豪斯多夫距离-CSDN博客
4.1 主要参数
u (M,N)大小的数组 M 表示点的数量N 表示每个点的维度 v (O,N)大小的数组 O 表示点的数量N 表示每个点的维度
4.2 返回内容
du 和 v 之间的定向豪斯多夫距离index_1 在数组u中贡献豪斯多夫对的点的索引index_2在数组v中贡献豪斯多夫对的点的索引
4.3 举例
import numpy as np
from scipy.spatial.distance import *u np.array([(1.0, 0.0),(0.0, 1.0),(-1.0, 0.0),(0.0, -1.0)])
v np.array([(2.0, 0.0),(0.0, 2.0),(-2.0, 0.0),(0.0, -4.0)])directed_hausdorff(u,v)
#(2.23606797749979, 3, 0)
5 is_valid_dm
判断输入数组是否为有效的距离矩阵
scipy.spatial.distance.is_valid_dm(D, tol0.0, throwFalse, nameD, warningFalse)
5.1 主要参数
D用于测试有效性的候选对象tol距离矩阵应该是对称的。tol是条目ij和ji之间的最大差异以便将距离度量视为对称
5.2 举例
import numpy as np
from scipy.spatial.distance import *d np.array([[0.0, 1.1, 1.2, 1.3],[1.1, 0.0, 1.0, 1.4],[1.2, 1.0, 0.0, 1.5],[1.3, 1.4, 1.5, 0.0]])
is_valid_dm(d)
#Trueis_valid_dm([[0, 2, 2], [2, 0, 2]])
#形状不对is_valid_dm([[0, 1, 1], [1, 2, 3], [1, 3, 0]])
#对角线不为0is_valid_dm([[0, 1, 3], [2, 0, 1], [3, 1, 0]])
#不对称
6 is_valid_y
scipy.spatial.distance.is_valid_y(y, warningFalse, throwFalse, nameNone)
判断输入数组是否为有效的压缩距离矩阵。
压缩距离矩阵必须是1维的numpy数组。它们的长度必须是一些正整数n的二项系数
6.1 主要参数
y压缩距离矩阵
6.2 举例
import numpy as np
from scipy.spatial.distance import *is_valid_y([1.0, 1.2, 1.0, 0.5, 1.3, 0.9])
#True
#长度为6合理长度所以返回Trueis_valid_y([1.0, 1.2, 1.0, 0.5, 1.3, 0.9,1.5])
#False
#长度为7不合理长度所以返回False
7 两个数字向量之间的距离
7.1 braycurtis
计算两个一维数组之间的布雷-柯蒂斯距离
scipy.spatial.distance.braycurtis(u, v, wNone)7.1.1 主要参数
u (N,) 输入数组 v(N,) 输入数组w(N,) u和v中每个值的权重
7.1.2 举例
基本上后面都是一样的就不举例了
import numpy as np
from scipy.spatial.distance import *braycurtis([1,1,0],[0,1,0])#0.33333333333333337.2 canberra
scipy.spatial.distance.canberra(u, v, wNone) 7.3 chebyshev
scipy.spatial.distance.chebyshev(u, v, wNone)7.4 cityblock
曼哈顿距离
scipy.spatial.distance.cityblock(u, v, wNone) 7.5 correlation
scipy.spatial.distance.correlation(u, v, wNone, centeredTrue) 7.6 cosine
scipy.spatial.distance.cosine(u, v, wNone) 7.7 euclidean
scipy.spatial.distance.euclidean(u, v, wNone)
7.8 jensenshannon
scipy.spatial.distance.jensenshannon(p, q, baseNone, *, axis0, keepdimsFalse)
两个概率向量pq之间的JS距离
如果p和q的总和不为1.0该程序将对其进行归一化 7.8.1 主要参数
p左侧概率向量q右侧概率向量base用于计算输出的对数底数axis 沿着哪个轴计算JS距离
7.8.2 举例
import numpy as np
from scipy.spatial.distance import *jensenshannon([1.0, 0.0, 0.0], [0.0, 1.0, 0.0])
#0.8325546111576977jensenshannon([1.0, 0.0, 0.0], [0.0, 1.0, 0.0],2)
#1.0a np.array([[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12]])
b np.array([[13, 14, 15, 16],[17, 18, 19, 20],[21, 22, 23, 24]])
jensenshannon(a, b, axis0)
#array([0.19542878, 0.14476971, 0.11383771, 0.09276358])jensenshannon(a, b, axis1)
#array([0.14023394, 0.03991063, 0.02018153])
7.9 mahalanobis
马氏距离
scipy.spatial.distance.mahalanobis(u, v, VI)7.9.1 主要参数
u输入向量v输入向量VI协方差矩阵的逆也即上面公式中的
7.9.2 举例
import numpy as np
from scipy.spatial.distance import *iv [[1, 0.5, 0.5], [0.5, 1, 0.5], [0.5, 0.5, 1]]mahalanobis([1, 0, 0], [0, 1, 0], iv)
#1.0
7.10 minkowski
闵可夫斯基距离
scipy.spatial.distance.minkowski(u, v, p2, wNone) 7.11 seuclidean
标准欧氏距离
scipy.spatial.distance.seuclidean(u, v, V)V[i]是针对点集中所有第i个分量计算得到的方差
7.12 sqeuclidean
平方欧氏距离
scipy.spatial.distance.sqeuclidean(u, v, wNone) 8 两个布尔向量距离
8.1 dice
scipy.spatial.distance.dice(u, v, wNone) CTF表示u是Tv是F其他类似
8.2 hamming
scipy.spatial.distance.hamming(u, v, wNone) 8.3 jaccard
scipy.spatial.distance.jaccard(u, v, wNone) 8.4 kulczynski1
scipy.spatial.distance.kulczynski1(u, v, *, wNone) 8.5 rogerstanimoto
scipy.spatial.distance.rogerstanimoto(u, v, wNone) 8.6 russellrao 8.7 sokalmichener
scipy.spatial.distance.sokalmichener(u, v, wNone) 8.8 sokalsneath
scipy.spatial.distance.sokalsneath(u, v, wNone) 8.9 yule
scipy.spatial.distance.yule(u, v, wNone)