Class EuclideanDistance

java.lang.Object
smile.math.distance.EuclideanDistance
All Implemented Interfaces:
Serializable, ToDoubleBiFunction<double[],double[]>, Distance<double[]>, Metric<double[]>

public class EuclideanDistance extends Object implements Metric<double[]>
Euclidean distance. For float or double arrays, missing values (i.e. NaN) are also handled.
See Also:
  • Constructor Details

    • EuclideanDistance

      public EuclideanDistance()
      Constructor. Standard (unweighted) Euclidean distance.
    • EuclideanDistance

      public EuclideanDistance(double[] weight)
      Constructor with a given weight vector.
      Parameters:
      weight - the weight vector.
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • d

      public double d(int[] x, int[] y)
      Euclidean distance between the two arrays of type integer. No missing value handling in this method.
      Parameters:
      x - a vector.
      y - a vector.
      Returns:
      the distance.
    • d

      public double d(float[] x, float[] y)
      Euclidean distance between the two arrays of type float. NaN will be treated as missing values and will be excluded from the calculation. Let m be the number nonmissing values, and n be the number of all values. The returned distance is sqrt(n * d / m), where d is the square of distance between nonmissing values.
      Parameters:
      x - a vector.
      y - a vector.
      Returns:
      the distance.
    • d

      public double d(double[] x, double[] y)
      Euclidean distance between the two arrays of type double. NaN will be treated as missing values and will be excluded from the calculation. Let m be the number nonmissing values, and n be the number of all values. The returned distance is sqrt(n * d / m), where d is the square of distance between nonmissing values.
      Specified by:
      d in interface Distance<double[]>
      Parameters:
      x - an object.
      y - an object.
      Returns:
      the distance.