## org.apache.mahout.common.distance
Class CosineDistanceMeasure

    java.lang.Object
      org.apache.mahout.common.distance.CosineDistanceMeasure

All Implemented Interfaces:
  DistanceMeasure, Parametered

    public class CosineDistanceMeasure

extends Object
implements DistanceMeasure

This class implements a cosine distance metric by dividing the dot product of two vectors by the product of their lengths. That gives the cosine of the angle between the two vectors. To convert this to a usable distance, 1-cos(angle) is what is actually returned.

Nested Class Summary

Nested classes/interfaces inherited from interface org.apache.mahout.common.parameters.Parametered
`Parametered.ParameteredGeneralizations`

Field Summary

Fields inherited from interface org.apache.mahout.common.parameters.Parametered
`log`

Constructor Summary
`CosineDistanceMeasure()`

Method Summary
`void` `configure(org.apache.hadoop.conf.Configuration job)`
`void` `createParameters(String prefix, org.apache.hadoop.conf.Configuration jobConf)` EXPERT: consumers should never have to call this method.
`static double` `distance(double[] p1, double[] p2)`
`double` `distance(double centroidLengthSquare, Vector centroid, Vector v)` Optimized version of distance metric for sparse vectors.
`double` `distance(Vector v1, Vector v2)` Returns the distance metric applied to the arguments
`Collection<Parameter<?>>` `getParameters()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### CosineDistanceMeasure

    public CosineDistanceMeasure()

Method Detail

### configure

    public void configure(org.apache.hadoop.conf.Configuration job)

  Specified by:
    `configure` in interface `Parametered`

### getParameters

    public Collection<Parameter<?>> getParameters()

  Specified by:
    `getParameters` in interface `Parametered`

### createParameters

    public void createParameters(String prefix,
                                 org.apache.hadoop.conf.Configuration jobConf)

  Description copied from interface: `Parametered`
  EXPERT: consumers should never have to call this method. It would be friendly visible to `Parametered.ParameteredGeneralizations` if java supported it. Calling this method should create a new list of parameters and is called

  Specified by:
    `createParameters` in interface `Parametered`
  Parameters:
    `prefix` - ends with a dot if not empty.
    `jobConf` - configuration used for retrieving values
  See Also:
    `invoking method`, `invoking method`

### distance

    public static double distance(double[] p1,
                                  double[] p2)

### distance

    public double distance(Vector v1,
                           Vector v2)

  Description copied from interface: `DistanceMeasure`
  Returns the distance metric applied to the arguments

  Specified by:
    `distance` in interface `DistanceMeasure`
  Parameters:
    `v1` - a Vector defining a multidimensional point in some feature space
    `v2` - a Vector defining a multidimensional point in some feature space
  Returns:
    a scalar doubles of the distance

### distance

    public double distance(double centroidLengthSquare,
                           Vector centroid,
                           Vector v)

  Description copied from interface: `DistanceMeasure`
  Optimized version of distance metric for sparse vectors. This distance computation requires operations proportional to the number of non-zero elements in the vector instead of the cardinality of the vector.

  Specified by:
    `distance` in interface `DistanceMeasure`
  Parameters:
    `centroidLengthSquare` - Square of the length of centroid
    `centroid` - Centroid vector

Copyright © 2008–2014 The Apache Software Foundation. All rights reserved.