HdbscanSharp icon indicating copy to clipboard operation
HdbscanSharp copied to clipboard

Add more distance functions

Open doxakis opened this issue 7 years ago • 0 comments

It would be great to have more distance functions ready to use.

The python lib implements lot of metrics. http://hdbscan.readthedocs.io/en/latest/basic_hdbscan.html#distance-matrices

The following file expose distance functions: https://github.com/scikit-learn-contrib/hdbscan/blob/master/hdbscan/dist_metrics.pyx

Some distance functions:

  • Chebyshev Distance
  • Minkowski Distance
  • W-Minkowski Distance
  • Mahalanobis Distance
  • Hamming Distance
  • Canberra Distance
  • Bray-Curtis Distance
  • Jaccard Distance
  • Matching Distance
  • Dice Distance
  • Kulsinski Distance
  • Rogers-Tanimoto Distance
  • Russell-Rao Distance
  • Sokal-Michener Distance
  • Sokal-Sneath Distance
  • Haversine Distance (2 dimensional)
  • Yule Distance

In the following folder: HdbscanSharp/Distance/ There is some examples. (For example, see ManhattanDistance) It must implements IDistanceCalculator.

If there is some limitation, it can throw a meanful exception with explications. For example, if the distance works only for 2 dimension, throw an exception.

I suggest to add one class for each new distance function and add minimal documentation (Description, formula and suggested use case if any. Check wikipedia).

doxakis avatar Mar 17 '18 18:03 doxakis