當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn haversine_distances用法及代碼示例


本文簡要介紹python語言中 sklearn.metrics.pairwise.haversine_distances 的用法。

用法:

sklearn.metrics.pairwise.haversine_distances(X, Y=None)

計算 X 和 Y 中樣本之間的半正弦距離。

Haversine(或大圓)距離是球體表麵上兩點之間的角距離。假設每個點的第一個坐標是緯度,第二個是經度,以弧度表示。數據的維度必須為 2。

參數

X形狀類似數組 (n_samples_X, 2)
Y形狀類似數組 (n_samples_Y, 2),默認=無

返回

distancendarray 形狀(n_samples_X,n_samples_Y)

注意

由於地球幾乎是球形的,因此半正弦公式提供了地球表麵兩點之間距離的良好近似值,平均誤差小於 1%。

例子

我們要計算埃塞薩機場(阿根廷布宜諾斯艾利斯)和戴高樂機場(法國巴黎)之間的距離。

>>> from sklearn.metrics.pairwise import haversine_distances
>>> from math import radians
>>> bsas = [-34.83333, -58.5166646]
>>> paris = [49.0083899664, 2.53844117956]
>>> bsas_in_radians = [radians(_) for _ in bsas]
>>> paris_in_radians = [radians(_) for _ in paris]
>>> result = haversine_distances([bsas_in_radians, paris_in_radians])
>>> result * 6371000/1000  # multiply by Earth radius to get kilometers
array([[    0.        , 11099.54035582],
       [11099.54035582,     0.        ]])

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.metrics.pairwise.haversine_distances。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。