本文簡要介紹 python 語言中 scipy.spatial.distance.directed_hausdorff
的用法。
用法:
scipy.spatial.distance.directed_hausdorff(u, v, seed=0)#
計算兩個二維數組之間的有向 Hausdorff 距離。
對之間的距離使用歐幾裏得度量來計算。
- u: (M,N) 數組
輸入數組,在 N 維中具有 M 個點。
- v: (O,N) 數組
N 維中包含 O 點的輸入數組。
- seed: int 或無
本地
numpy.random.RandomState
種子。默認值為 0,即 u 和 v 的隨機改組,保證可重複性。
- d: 雙倍的
數組 u 和 v 之間的有向 Hausdorff 距離,
- index_1: int
u 中對 Hausdorff 對有貢獻的點的索引
- index_2: int
v 中對 Hausdorff 對有貢獻的點的索引
- ValueError
如果 u 和 v 的列數不同,則會引發異常。
參數 ::
返回 ::
拋出 ::
注意:
使用 [1] 中說明的早期中斷技術和隨機抽樣方法。盡管最壞情況下的性能是
O(m * o)
(與蠻力算法一樣),但這在實踐中不太可能,因為輸入數據必須要求算法探索每個單點交互,並且在算法將輸入點打亂之後.最佳情況下的性能是 O(m),通過選擇小於 cmax 的內環距離來滿足這一要求,並盡可能多地導致早期中斷。作者已經正式表明平均運行時間更接近 O(m)。參考:
[1]A. A. Taha 和 A. Hanbury,“一種計算準確 Hausdorff 距離的有效算法。” IEEE 模式分析和機器智能匯刊,第一卷。 2015 年,第 37 頁,第 2153-63 頁。
例子:
求兩個二維坐標數組之間的有向 Hausdorff 距離:
>>> from scipy.spatial.distance import directed_hausdorff >>> import numpy as np >>> 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)[0] 2.23606797749979 >>> directed_hausdorff(v, u)[0] 3.0
求兩個二維坐標數組之間的一般(對稱)豪斯多夫距離:
>>> max(directed_hausdorff(u, v)[0], directed_hausdorff(v, u)[0]) 3.0
求生成 Hausdorff 距離(Hausdorff 對)的點的索引:
>>> directed_hausdorff(v, u)[1:] (3, 3)
相關用法
- Python SciPy distance.dice用法及代碼示例
- Python SciPy distance.sokalmichener用法及代碼示例
- Python SciPy distance.braycurtis用法及代碼示例
- Python SciPy distance.cityblock用法及代碼示例
- Python SciPy distance.jensenshannon用法及代碼示例
- Python SciPy distance.sokalsneath用法及代碼示例
- 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.sqeuclidean用法及代碼示例
- Python SciPy distance.seuclidean用法及代碼示例
- Python SciPy distance.kulsinski用法及代碼示例
- Python SciPy distance.yule用法及代碼示例
- Python SciPy distance.cosine用法及代碼示例
- Python SciPy distance.squareform用法及代碼示例
- Python SciPy distance.hamming用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.spatial.distance.directed_hausdorff。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。