MyMediaLite  3.07
Public Member Functions | Protected Member Functions | Protected Attributes | Properties
Jaccard Class Reference

Class for storing and computing the Jaccard index (Tanimoto coefficient) More...

Inheritance diagram for Jaccard:
BinaryDataSymmetricCorrelationMatrix SymmetricCorrelationMatrix IBinaryDataCorrelationMatrix SymmetricSparseMatrix< T > ICorrelationMatrix ICorrelationMatrix SparseMatrix< T > IMatrix< T > IMatrix< T > IMatrix< T >

List of all members.

Public Member Functions

void AddEntity (int entity_id)
 Add an entity to the ICorrelationMatrix by growing it to the requested size.
float ComputeCorrelation (ICollection< int > vector_i, ICollection< int > vector_j)
 Computes the correlation of two binary vectors.
void ComputeCorrelations (IBooleanMatrix entity_data)
 Compute the correlations from an implicit feedback, positive-only dataset.
override IMatrix< T > CreateMatrix (int num_rows, int num_columns)
 Create a matrix with a given number of rows and columns.
 Jaccard (int num_entities)
 Creates an object of type Jaccard.
override void Resize (int size)
 Resize to the given size.
void Resize (int num_rows, int num_cols)
 Grows or shrinks the matrix to the requested size, if necessary.
 SparseMatrix (int num_rows, int num_cols)
 Create a sparse matrix with a given number of rows.
 SymmetricSparseMatrix (int dimension)
 Create a symmetric sparse matrix with a given dimension.
virtual IMatrix< T > Transpose ()
 Get the transpose of the matrix, i.e. a matrix where rows and columns are interchanged.
void Write (StreamWriter writer)
 Write out the correlations to a StreamWriter.

Protected Member Functions

override float ComputeCorrelationFromOverlap (float overlap, float count_x, float count_y)

Protected Attributes

internal List< List< int > > index_list = new List<List<int>>()
 List of lists that stores the column indices of the entries.
internal List< List< T > > value_list = new List<List<T>>()
 List of lists that stores the values of the entries.

Properties

override bool IsSymmetric [get]
 returns true if the matrix is symmetric, which is generally the case for similarity matrices
override IList< Tuple< int, int > > NonEmptyEntryIDs [get]
 The row and column IDs of non-empty entries in the matrix.
int NumberOfColumns [get, set]
 The number of columns of the matrix.
override int NumberOfNonEmptyEntries [get]
 The number of non-empty entries in the matrix.
int NumberOfRows [get]
 The number of rows of the matrix.
int NumEntities [get, set]
 Number of entities the correlation is defined over.
override T this[int x, int y] [get, set]
 Access the elements of the sparse matrix.
Dictionary< int, T > this[int x] [get]
 Get a row of the matrix.
bool Weighted [get, set]
 If set to true, give a lower weight to evidence coming from very frequent entities.

Detailed Description

Class for storing and computing the Jaccard index (Tanimoto coefficient)

The Jaccard index is often also called the Tanimoto coefficient.

http://en.wikipedia.org/wiki/Jaccard_index


Constructor & Destructor Documentation

Jaccard ( int  num_entities) [inline]

Creates an object of type Jaccard.

Parameters:
num_entitiesthe number of entities

Member Function Documentation

void AddEntity ( int  entity_id) [inline, inherited]

Add an entity to the ICorrelationMatrix by growing it to the requested size.

Note that you still have to correctly compute and set the entity's correlation values

Parameters:
entity_idthe numerical ID of the entity

Implements ICorrelationMatrix.

float ComputeCorrelation ( ICollection< int >  vector_i,
ICollection< int >  vector_j 
) [inline, inherited]

Computes the correlation of two binary vectors.

Parameters:
vector_ithe first vector
vector_jthe second vector
Returns:
the correlation of the two vectors

Implements IBinaryDataCorrelationMatrix.

void ComputeCorrelations ( IBooleanMatrix  entity_data) [inline, inherited]

Compute the correlations from an implicit feedback, positive-only dataset.

Parameters:
entity_datathe implicit feedback set, rows contain the entities to correlate

Implements IBinaryDataCorrelationMatrix.

override IMatrix<T> CreateMatrix ( int  num_rows,
int  num_columns 
) [inline, virtual, inherited]

Create a matrix with a given number of rows and columns.

Parameters:
num_rowsthe number of rows
num_columnsthe number of columns
Returns:
A matrix with num_rows rows and num_column columns

Reimplemented from SparseMatrix< T >.

Reimplemented in SkewSymmetricSparseMatrix.

override void Resize ( int  size) [inline, inherited]

Resize to the given size.

Parameters:
sizethe size

Implements ICorrelationMatrix.

void Resize ( int  num_rows,
int  num_cols 
) [inline, inherited]

Grows or shrinks the matrix to the requested size, if necessary.

The new entries are filled with zeros. Obsolete entries are removed.

Parameters:
num_rowsthe number of rows
num_colsthe number of columns

Implements IMatrix< T >.

SparseMatrix ( int  num_rows,
int  num_cols 
) [inline, inherited]

Create a sparse matrix with a given number of rows.

Parameters:
num_rowsthe number of rows
num_colsthe number of columns
SymmetricSparseMatrix ( int  dimension) [inline, inherited]

Create a symmetric sparse matrix with a given dimension.

Parameters:
dimensionthe dimension (number of rows/columns)
virtual IMatrix<T> Transpose ( ) [inline, virtual, inherited]

Get the transpose of the matrix, i.e. a matrix where rows and columns are interchanged.

Returns:
the transpose of the matrix (copy)

Implements IMatrix< T >.

void Write ( StreamWriter  writer) [inline, inherited]

Write out the correlations to a StreamWriter.

Parameters:
writerA StreamWriter

Implements ICorrelationMatrix.


Member Data Documentation

internal List<List<int> > index_list = new List<List<int>>() [protected, inherited]

List of lists that stores the column indices of the entries.

internal List<List<T> > value_list = new List<List<T>>() [protected, inherited]

List of lists that stores the values of the entries.


Property Documentation

override IList<Tuple<int, int> > NonEmptyEntryIDs [get, inherited]

The row and column IDs of non-empty entries in the matrix.

The row and column IDs of non-empty entries in the matrix

Reimplemented from SparseMatrix< T >.

int NumberOfColumns [get, set, inherited]

The number of columns of the matrix.

The number of columns of the matrix

Implements IMatrix< T >.

override int NumberOfNonEmptyEntries [get, inherited]

The number of non-empty entries in the matrix.

The number of non-empty entries in the matrix

Reimplemented from SparseMatrix< T >.

int NumberOfRows [get, inherited]

The number of rows of the matrix.

The number of rows of the matrix

Implements IMatrix< T >.

int NumEntities [get, set, inherited]

Number of entities the correlation is defined over.

Implements ICorrelationMatrix.

override T this[int x, int y] [get, set, inherited]

Access the elements of the sparse matrix.

Parameters:
xthe row ID
ythe column ID

Reimplemented from SparseMatrix< T >.

Reimplemented in SkewSymmetricSparseMatrix.

Dictionary<int, T> this[int x] [get, inherited]

Get a row of the matrix.

Parameters:
xthe row ID
bool Weighted [get, set, inherited]

If set to true, give a lower weight to evidence coming from very frequent entities.

Implements IBinaryDataCorrelationMatrix.


The documentation for this class was generated from the following file: