org.apache.mahout.common.distance
Class CosineDistanceMeasure

java.lang.Object
  extended by 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.