Scipy总结
计算空间距离:scipy.spatial.distance.cdist()
scipy.spatial.distance.cdist(XA, XB, metric='euclidean', *, out=None, **kwargs)
计算两个输入集合中每一对之间的距离。
参数:
array_like
:像数组的类型,只包含使用从零开始,且自然递增的整数做键名,并且定义了length表示元素个数的对象,我们就认为它是类数组对象。
XA:array_like
在 n 维空间中一个 \(m_A * n\) 的 \(m_A\) 原始观测数组。输入转换为浮点型。
XB:array_like
在 n 维空间中一个 \(m_B * n\) 的 \(m_B\) 原始观测数组。输入转换为浮点型。
metric:str or callable, optional ( 可调用或可选择的字符串 )
要使用的距离度量。如果一个字符串,距离函数可以是 ‘ braycurtis’,‘ canberra’,‘ chebyshev’,‘ cityblock’,‘ correlation’,‘ cosine’,‘ dice’,‘ euclidean’,‘ hamming’,‘ jaccard’,‘ jensenshannon’,‘ kulsinski’,‘ mahalanobis’,‘ matching’,‘ minkowski’,‘ rogerstanimoto’,‘ russelll’,‘ seuclidean’,‘ sokalmichener’,‘ sokalath’,‘ euclidean’,‘ sqlkowski’,‘ wminkole’。
**kwargs:dict, optional (可选的字典)
度量的额外参数:参考每个度量文档获得所有可能参数的列表。
一些可能的参数:
标量( P ):适用于 Minkowski 的 p 范数,加权和不加权。默认值:2。
权重( w ):类数组的权重向量,用于支持权重的度量(例如,Minkowski)。
向量( V ):类数组的标准化欧几里德的方差向量。缺省值:
var(vstack([XA,XB]), axis = 0, ddof = 1)
。逆矩阵( VI ):马氏协方差矩阵的逆矩阵。默认值:
inv(cov(vstack([XA, XB].T))).T
返回值:
返回值类型:ndarray
返回一个 \(m_A * m_B\) 的距离矩阵。对于每个 \(i\) 和 \(j\) ,度量
dist(u=XA[i], v=XB[j])
被计算并保存在第 \(ij\) 个条目中。
备注:
如果 XA 和 XB 的列数不相同,则引发异常。
代码举例:
1 |
|
运行结果:
1 |
|