当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。