距離計算 (scipy.spatial.distance)#

函數參考#

從儲存在矩形陣列中的原始觀察向量集合計算距離矩陣。

pdist(X[, metric, out])

計算 n 維空間中觀察值之間的成對距離。

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

計算兩組輸入集合中每對輸入之間的距離。

squareform(X[, force, checks])

將向量形式的距離向量轉換為方形形式的距離矩陣,反之亦然。

directed_hausdorff(u, v[, rng])

計算兩個 2 維陣列之間的定向 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])

計算兩個 1 維陣列之間的 Bray-Curtis 距離。

canberra(u, v[, w])

計算兩個 1 維陣列之間的 Canberra 距離。

chebyshev(u, v[, w])

計算 Chebyshev 距離。

cityblock(u, v[, w])

計算城市街區 (曼哈頓) 距離。

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

計算兩個 1 維陣列之間的相關距離。

cosine(u, v[, w])

計算 1 維陣列之間的餘弦距離。

euclidean(u, v[, w])

計算兩個 1 維陣列之間的歐幾里得距離。

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

計算兩個機率陣列之間的 Jensen-Shannon 距離 (度量)。

mahalanobis(u, v, VI)

計算兩個 1 維陣列之間的馬氏距離。

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

計算兩個 1 維陣列之間的 Minkowski 距離。

seuclidean(u, v, V)

返回兩個 1 維陣列之間的標準化歐幾里得距離。

sqeuclidean(u, v[, w])

計算兩個 1 維陣列之間的平方歐幾里得距離。

兩個布林向量 (表示集合) uv 之間的距離函數。與數值向量的情況一樣,pdist 對於計算所有對之間的距離更有效。

dice(u, v[, w])

計算兩個布林值 1 維陣列之間的 Dice 相異度。

hamming(u, v[, w])

計算兩個 1 維陣列之間的漢明距離。

jaccard(u, v[, w])

計算兩個布林向量之間的 Jaccard 相異度。

kulczynski1(u, v, *[, w])

計算兩個布林值 1 維陣列之間的 Kulczynski 1 相異度。

rogerstanimoto(u, v[, w])

計算兩個布林值 1 維陣列之間的 Rogers-Tanimoto 相異度。

russellrao(u, v[, w])

計算兩個布林值 1 維陣列之間的 Russell-Rao 相異度。

sokalmichener(u, v[, w])

計算兩個布林值 1 維陣列之間的 Sokal-Michener 相異度。

sokalsneath(u, v[, w])

計算兩個布林值 1 維陣列之間的 Sokal-Sneath 相異度。

yule(u, v[, w])

計算兩個布林值 1 維陣列之間的 Yule 相異度。

hamming 也適用於離散數值向量。