scikit-learn functions
Documentation:-
https://scikit-learn.org/stable/modules/generated/sklearn.metrics.pairwise.haversine_distances.html
Code references:-
https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/metrics/tests/test_pairwise.py
→ test_haversine_distances() shows a sample call. This function also contains a slower implementation. Afterwards, compare the timings of the native scikit-learn function and its slower implementation.
https://github.com/scikit-learn/scikit-learn/blob/0.23.2/sklearn/metrics/pairwise.py
→ haversine_distances() shows the implementation.
History:-
The sklearn.metrics.pairwise.haversine_distances function was added in 0.21.0
The 0.21.0 was released on 2019-05
Ref:-
https://scikit-learn.org/dev/whats_new/v0.21.html#id16
- changelog entry
https://scikit-learn.org/dev/whats_new/v0.21.html#version-0-21-0
- shows the release date
link dump
https://en.wikipedia.org/wiki/Haversine_formula
https://en.wikipedia.org/wiki/Great_circle
- has a nice picture of the great circle (in the context of sphere).
https://en.wikipedia.org/wiki/Versine#Haversine
- has a picture that shows how trigonometric functions can be constructed geometrically using unit circle. Contains a table of derivative and integral formulas for various types of versines.
http://rosettacode.org/wiki/Haversine_formula#Python
- gives bare bones python code. In practice, we are probably better off using scikit-learn functions?
https://stackoverflow.com/questions/34557898/pairwise-haversine-distance-calculation
- In practice, we are probably better off using scikit-learn functions. But the discussion, sample code here is probably useful?