Skip to content

Adaptation to sklearn #143

Open
Open
@MuellerSeb

Description

@MuellerSeb

sklearn provides a lot of functionality, we could use to simplify our code.

Distance matrix calculation:
https://scikit-learn.org/stable/modules/generated/sklearn.metrics.pairwise_distances.html

KDtree:
https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KDTree.html

Search radius to optimize moving window kriging (See: #57):
https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KDTree.html#sklearn.neighbors.KDTree.query_radius

Nearest neighbors:
https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KDTree.html#sklearn.neighbors.KDTree.query

Beside that, one can specify the metric in use (see: #120):
https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.DistanceMetric.html

  • “euclidean” | EuclideanDistance |   | sqrt(sum((x - y)^2))
  • “manhattan” | ManhattanDistance |   | sum(|x - y|)
  • “chebyshev” | ChebyshevDistance |   | max(|x - y|)
  • “minkowski” | MinkowskiDistance | p | sum(|x - y|^p)^(1/p)
  • “wminkowski” | WMinkowskiDistance | p, w | sum(|w * (x - y)|^p)^(1/p)
  • “seuclidean” | SEuclideanDistance | V | sqrt(sum((x - y)^2 / V))
  • “mahalanobis” | MahalanobisDistance | V or VI | sqrt((x - y)' V^-1 (x - y))

Or for geo-coordinates (see: #121):

  • “haversine” | HaversineDistance | 2 arcsin(sqrt(sin^2(0.5dx) + cos(x1)cos(x2)sin^2(0.5dy)))
    (np.deg2rad needed here)

So this could solve a lot of issues.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions