本文簡要介紹 python 語言中 scipy.spatial.distance.squareform
的用法。
用法:
scipy.spatial.distance.squareform(X, force='no', checks=True)#
將 vector-form 距離向量轉換為 square-form 距離矩陣,反之亦然。
- X: array_like
壓縮或冗餘距離矩陣。
- force: str,可選
與 MATLAB(TM) 一樣,如果 force 等於
'tovector'
或'tomatrix'
,則輸入將分別被視為距離矩陣或距離向量。- checks: 布爾型,可選
如果設置為 False,則不會檢查矩陣對稱性或零對角線。如果已知
X - X.T1
很小且diag(X)
接近於零,則這非常有用。這些值無論如何都會被忽略,因此它們不會破壞正方形轉換。
- Y: ndarray
如果傳遞的是壓縮距離矩陣,則返回冗餘距離矩陣,如果傳遞冗餘距離矩陣,則返回壓縮距離矩陣。
參數 ::
返回 ::
注意:
v = squareform(X)
給定一個方陣n-by-n對稱距離矩陣
X
,v = squareform(X)
返回一個n * (n-1) / 2
(即二項式係數n選擇2)大小的向量v其中 是不同點之間的距離i
和j
.如果X
如果是非方形或不對稱的,則會產生錯誤。X = squareform(v)
給定
n * (n-1) / 2
大小的向量v
對於某些整數n >= 1
編碼距離,如所述,X = squareform(v)
返回 n-by-n 距離矩陣X
。X[i, j]
和X[j, i]
值設置為 ,並且所有對角線元素均為零。
在SciPy 0.19.0 中,
squareform
停止將所有輸入類型轉換為 float64,並開始返回與輸入具有相同數據類型的數組。例子:
>>> import numpy as np >>> from scipy.spatial.distance import pdist, squareform
x
是三維空間中五個點的數組。>>> x = np.array([[2, 0, 2], [2, 2, 3], [-2, 4, 5], [0, 1, 9], [2, 2, 4]])
pdist(x)
計算x
中每對點之間的歐幾裏得距離。距離以長度為5*(5 - 1)/2 = 10
的一維數組返回。>>> distvec = pdist(x) >>> distvec array([2.23606798, 6.40312424, 7.34846923, 2.82842712, 4.89897949, 6.40312424, 1. , 5.38516481, 4.58257569, 5.47722558])
squareform(distvec)
返回 5x5 距離矩陣。>>> m = squareform(distvec) >>> m 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. ]])
當給定平方距離矩陣
m
時,squareform(m)
返回與該矩陣關聯的一維壓縮距離向量。在這種情況下,我們恢複distvec
。>>> squareform(m) array([2.23606798, 6.40312424, 7.34846923, 2.82842712, 4.89897949, 6.40312424, 1. , 5.38516481, 4.58257569, 5.47722558])
相關用法
- Python SciPy distance.sqeuclidean用法及代碼示例
- Python SciPy distance.sokalmichener用法及代碼示例
- Python SciPy distance.sokalsneath用法及代碼示例
- Python SciPy distance.seuclidean用法及代碼示例
- Python SciPy distance.dice用法及代碼示例
- Python SciPy distance.braycurtis用法及代碼示例
- Python SciPy distance.cityblock用法及代碼示例
- Python SciPy distance.jensenshannon用法及代碼示例
- Python SciPy distance.kulczynski1用法及代碼示例
- Python SciPy distance.jaccard用法及代碼示例
- Python SciPy distance.minkowski用法及代碼示例
- Python SciPy distance.pdist用法及代碼示例
- Python SciPy distance.rogerstanimoto用法及代碼示例
- Python SciPy distance.canberra用法及代碼示例
- Python SciPy distance.is_valid_y用法及代碼示例
- Python SciPy distance.chebyshev用法及代碼示例
- Python SciPy distance.russellrao用法及代碼示例
- Python SciPy distance.cdist用法及代碼示例
- Python SciPy distance.mahalanobis用法及代碼示例
- Python SciPy distance.is_valid_dm用法及代碼示例
- Python SciPy distance.directed_hausdorff用法及代碼示例
- Python SciPy distance.kulsinski用法及代碼示例
- Python SciPy distance.yule用法及代碼示例
- Python SciPy distance.cosine用法及代碼示例
- Python SciPy distance.hamming用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.spatial.distance.squareform。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。