org.mymedialite.correlation
Class BinaryCosine

java.lang.Object
  extended by org.mymedialite.datatype.SymmetricMatrix<java.lang.Float>
      extended by org.mymedialite.correlation.CorrelationMatrix
          extended by org.mymedialite.correlation.BinaryDataCorrelationMatrix
              extended by org.mymedialite.correlation.BinaryCosine
All Implemented Interfaces:
IMatrix<java.lang.Float>

public final class BinaryCosine
extends BinaryDataCorrelationMatrix

Class for storing cosine similarities. http://en.wikipedia.org/wiki/Cosine_similarity


Field Summary
 
Fields inherited from class org.mymedialite.correlation.CorrelationMatrix
numEntities
 
Fields inherited from class org.mymedialite.datatype.SymmetricMatrix
data, dim
 
Constructor Summary
BinaryCosine(int numEntities)
          Creates an object of type Cosine.
 
Method Summary
static float computeCorrelation(java.util.HashSet<java.lang.Integer> vectorI, java.util.HashSet<java.lang.Integer> vectorJ)
          Computes the cosine similarity of two binary vectors.
 void computeCorrelations(IBooleanMatrix entityData)
          Compute the correlations from an implicit feedback, positive-only dataset.
static CorrelationMatrix create(IBooleanMatrix vectors)
          Creates a Cosine similarity matrix from given data.
 
Methods inherited from class org.mymedialite.correlation.CorrelationMatrix
addEntity, create, getNearestNeighbors, getPositivelyCorrelatedEntities, isSymmetric, readCorrelationMatrix, sumUp, write
 
Methods inherited from class org.mymedialite.datatype.SymmetricMatrix
createMatrix, get, grow, init, numberOfColumns, numberOfRows, set, transpose
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BinaryCosine

public BinaryCosine(int numEntities)
Creates an object of type Cosine.

Parameters:
numEntities - the number of entities
Method Detail

create

public static CorrelationMatrix create(IBooleanMatrix vectors)
Creates a Cosine similarity matrix from given data.

Parameters:
vectors - the boolean data
Returns:
the similarity matrix based on the data

computeCorrelations

public void computeCorrelations(IBooleanMatrix entityData)
Description copied from class: BinaryDataCorrelationMatrix
Compute the correlations from an implicit feedback, positive-only dataset.

Specified by:
computeCorrelations in class BinaryDataCorrelationMatrix
Parameters:
entityData - the implicit feedback set, rows contain the entities to correlate

computeCorrelation

public static float computeCorrelation(java.util.HashSet<java.lang.Integer> vectorI,
                                       java.util.HashSet<java.lang.Integer> vectorJ)
Computes the cosine similarity of two binary vectors.

Parameters:
vectorI - the first vector
vectorJ - the second vector
Returns:
the cosine similarity between the two vectors