距离计算 (scipy.spatial.distance)#

函数参考#

基于存储在矩形数组中的原始观测向量集合计算距离矩阵。

pdist(X[, metric, out])

计算 n 维空间中观测值之间的两两距离。

cdist(XA, XB[, metric, out])

计算两个输入集合中每一对之间的距离。

squareform(X[, force, checks])

将向量形式的距离向量转换为方阵形式的距离矩阵,反之亦然。

directed_hausdorff(u, v[, rng, seed])

计算两个二维数组之间的定向豪斯多夫 (Hausdorff) 距离。

用于检查距离矩阵(压缩式和冗余式)有效性的断言。本模块还包含用于计算距离矩阵中观测值数量的函数。

is_valid_dm(D[, tol, throw, name, warning])

如果输入数组满足基本距离矩阵属性(对称且对角线为零),则返回 True。

is_valid_y(y[, warning, throw, name])

如果输入数组是有效的压缩距离矩阵,则返回 True。

num_obs_dm(d)

返回与方阵冗余距离矩阵对应的原始观测值数量。

num_obs_y(Y)

返回与压缩距离矩阵对应的原始观测值数量。

两个数值向量 uv 之间的距离函数。对于大型向量集合,使用这些函数计算距离效率较低。请为此目的使用 pdist

braycurtis(u, v[, w])

计算两个一维数组之间的布雷-柯蒂斯 (Bray-Curtis) 距离。

canberra(u, v[, w])

计算两个一维数组之间的堪培拉 (Canberra) 距离。

chebyshev(u, v[, w])

计算切比雪夫 (Chebyshev) 距离。

cityblock(u, v[, w])

计算街区 (曼哈顿) 距离。

correlation(u, v[, w, centered])

计算两个一维数组之间的相关距离。

cosine(u, v[, w])

计算一维数组之间的余弦距离。

euclidean(u, v[, w])

计算两个一维数组之间的欧几里得距离。

jensenshannon(p, q[, base, axis, keepdims])

计算两个概率数组之间的詹森-香农 (Jensen-Shannon) 距离(度量)。

mahalanobis(u, v, VI)

计算两个一维数组之间的马氏 (Mahalanobis) 距离。

minkowski(u, v[, p, w])

计算两个一维数组之间的闵可夫斯基 (Minkowski) 距离。

seuclidean(u, v, V)

返回两个一维数组之间的标准化欧几里得距离。

sqeuclidean(u, v[, w])

计算两个一维数组之间的平方欧几里得距离。

两个布尔向量(表示集合)uv 之间的距离函数。与数值向量的情况一样,使用 pdist 计算所有对之间的距离更有效。

dice(u, v[, w])

计算两个布尔一维数组之间的 Dice 相异度。

hamming(u, v[, w])

计算两个一维数组之间的汉明 (Hamming) 距离。

jaccard(u, v[, w])

计算两个布尔向量之间的 Jaccard 相异度。

rogerstanimoto(u, v[, w])

计算两个布尔一维数组之间的 Rogers-Tanimoto 相异度。

russellrao(u, v[, w])

计算两个布尔一维数组之间的 Russell-Rao 相异度。

sokalsneath(u, v[, w])

计算两个布尔一维数组之间的 Sokal-Sneath 相异度。

yule(u, v[, w])

计算两个布尔一维数组之间的 Yule 相异度。

hamming 同样适用于离散数值向量。