Documentation of 'jsat.linear.distancemetrics.CosineDistanceNormalized' Java class
CosineDistanceNormalized
jsat.linear.distancemetrics

Class CosineDistanceNormalized

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, DistanceMetric


    public class CosineDistanceNormalized
    extends java.lang.Object
    implements DistanceMetric
    This distance metric returns the same cosine distance as CosineDistance. This implementation assumes that all vectors being passed in for distance computations have already been L2 normalized. This means the distance computation can be done more efficiently, but the results will be incorrect if the inputs have not already been normalized.
    The word Normalized is postfixed to the name to avoid confusion, as many might assume "Normalized-CosineDistance" would mean a cosine distance with some form of additional normalization.
    See Also:
    Serialized Form
    • Constructor Detail

      • CosineDistanceNormalized

        public CosineDistanceNormalized()
    • Method Detail

      • dist

        public double dist(Vec a,
                           Vec b)
        Description copied from interface: DistanceMetric
        Computes the distance between 2 vectors. The smaller the value, the closer, and there for, more similar, the vectors are. 0 indicates the vectors are the same.
        Specified by:
        dist in interface DistanceMetric
        Parameters:
        a - the first vector
        b - the second vector
        Returns:
        the distance between them
      • isSymmetric

        public boolean isSymmetric()
        Description copied from interface: DistanceMetric
        Returns true if this distance metric obeys the rule that, for any x, y, and z ∈ S
        d(x, y) = d(y, x)
        Specified by:
        isSymmetric in interface DistanceMetric
        Returns:
        true if this distance metric is symmetric, false if it is not
      • isSubadditive

        public boolean isSubadditive()
        Description copied from interface: DistanceMetric
        Returns true if this distance metric obeys the rule that, for any x, y, and z ∈ S
        d(x, z) ≤ d(x, y) + d(y, z)
        Specified by:
        isSubadditive in interface DistanceMetric
        Returns:
        true if this distance metric supports the triangle inequality, false if it does not.
      • isIndiscemible

        public boolean isIndiscemible()
        Description copied from interface: DistanceMetric
        Returns true if this distance metric obeys the rule that, for any x and y ∈ S
        d(x, y) = 0 if and only if x = y
        Specified by:
        isIndiscemible in interface DistanceMetric
        Returns:
        true if this distance metric is indicemible, false otherwise.
      • metricBound

        public double metricBound()
        Description copied from interface: DistanceMetric
        All metrics must return values greater than or equal to 0. The upper bound on the value returned is different for different metrics. This method returns the theoretical maximal value that could be returned by this distance metric. That means Double.POSITIVE_INFINITY is a valid return value.
        Specified by:
        metricBound in interface DistanceMetric
        Returns:
        the maximal distance for any two points in that could exist by this distance metric.
      • toString

        public java.lang.String toString()
        Description copied from interface: DistanceMetric
        Returns a descriptive name of the Distance Metric in use
        Specified by:
        toString in interface DistanceMetric
        Overrides:
        toString in class java.lang.Object
        Returns:
        the name of this metric

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.