org.mymedialite.correlation
Class WeightedBinaryCosine

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.WeightedBinaryCosine
All Implemented Interfaces:
IMatrix<java.lang.Float>

public final class WeightedBinaryCosine
extends BinaryDataCorrelationMatrix

Class for weighted cosine similarities. http://kddcup.yahoo.com/pdf/Track2-TheCoreTeam-Paper.pdf 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
WeightedBinaryCosine(int num_entities)
          Creates an object of type Cosine.
 
Method Summary
static float computeCorrelation(java.util.HashSet<java.lang.Integer> vector_i, java.util.HashSet<java.lang.Integer> vector_j)
          Computes the cosine similarity of two binary vectors.
 void computeCorrelations(IBooleanMatrix entity_data)
          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

WeightedBinaryCosine

public WeightedBinaryCosine(int num_entities)
Creates an object of type Cosine.

Parameters:
num_entities - 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 entity_data)
Description copied from class: BinaryDataCorrelationMatrix
Compute the correlations from an implicit feedback, positive-only dataset.

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

computeCorrelation

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

Parameters:
vector_i - the first vector
vector_j - the second vector
Returns:
the cosine similarity between the two vectors