MyMediaLite
3.01
|
CorrelationMatrix that computes correlations over binary data. More...
Public Member Functions | |
void | AddEntity (int entity_id) |
Add an entity to the CorrelationMatrix by growing it to the requested size. | |
BinaryDataCorrelationMatrix (int num_entities) | |
Constructor. | |
abstract void | ComputeCorrelations (IBooleanMatrix entity_data) |
Compute the correlations from an implicit feedback, positive-only dataset. | |
IMatrix< T > | CreateMatrix (int num_rows, int num_columns) |
Create a matrix with a given number of rows and columns. | |
int[] | GetNearestNeighbors (int entity_id, uint k) |
Get the k nearest neighbors of a given entity. | |
IList< int > | GetPositivelyCorrelatedEntities (int entity_id) |
Get all entities that are positively correlated to an entity, sorted by correlation. | |
void | Grow (int num_rows, int num_columns) |
Grows the matrix to the requested size, if necessary. | |
double | SumUp (int entity_id, ICollection< int > entities) |
Sum up the correlations between a given entity and the entities in a collection. | |
SymmetricMatrix (int dim) | |
Initializes a new instance of the SymmetricMatrix class. | |
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. | |
Static Public Member Functions | |
static CorrelationMatrix | Create (int num_entities) |
Creates a correlation matrix. | |
static CorrelationMatrix | ReadCorrelationMatrix (StreamReader reader) |
Creates a CorrelationMatrix from the lines of a StreamReader. | |
Public Attributes | |
int | dim |
Dimension, the number of rows and columns. | |
Protected Attributes | |
internal T[][] | data |
Data array: data is stored in columns. | |
int | num_entities |
Number of entities, e.g. users or items. | |
Properties | |
override bool | IsSymmetric [get] |
returns true if the matrix is symmetric, which is generally the case for similarity matrices | |
int | NumberOfColumns [get] |
The number of columns of the matrix. | |
int | NumberOfRows [get] |
The number of rows of the matrix. | |
virtual T | this[int i, int j] [get, set] |
T | this[int x, int y] [get, set] |
The value at (i,j) |
CorrelationMatrix that computes correlations over binary data.
BinaryDataCorrelationMatrix | ( | int | num_entities | ) | [inline] |
Constructor.
num_entities | the number of entities |
void AddEntity | ( | int | entity_id | ) | [inline, inherited] |
Add an entity to the CorrelationMatrix by growing it to the requested size.
Note that you still have to correctly compute and set the entity's correlation values
entity_id | the numerical ID of the entity |
abstract void ComputeCorrelations | ( | IBooleanMatrix | entity_data | ) | [pure virtual] |
Compute the correlations from an implicit feedback, positive-only dataset.
entity_data | the implicit feedback set, rows contain the entities to correlate |
Implemented in Jaccard, WeightedBinaryCosine, and BinaryCosine.
static CorrelationMatrix Create | ( | int | num_entities | ) | [inline, static, inherited] |
Creates a correlation matrix.
Gives out a useful warning if there is not enough memory
num_entities | the number of entities |
IMatrix<T> CreateMatrix | ( | int | num_rows, |
int | num_columns | ||
) | [inline, inherited] |
Create a matrix with a given number of rows and columns.
num_rows | the number of rows |
num_columns | the number of columns |
Implements IMatrix< T >.
int [] GetNearestNeighbors | ( | int | entity_id, |
uint | k | ||
) | [inline, inherited] |
Get the k nearest neighbors of a given entity.
entity_id | the numerical ID of the entity |
k | the neighborhood size |
IList<int> GetPositivelyCorrelatedEntities | ( | int | entity_id | ) | [inline, inherited] |
Get all entities that are positively correlated to an entity, sorted by correlation.
entity_id | the entity ID |
void Grow | ( | int | num_rows, |
int | num_cols | ||
) | [inline, inherited] |
Grows the matrix to the requested size, if necessary.
The new entries are filled with zeros.
num_rows | the minimum number of rows |
num_cols | the minimum number of columns |
Implements IMatrix< T >.
static CorrelationMatrix ReadCorrelationMatrix | ( | StreamReader | reader | ) | [inline, static, inherited] |
Creates a CorrelationMatrix from the lines of a StreamReader.
In the first line, we expect to be the number of entities. All the other lines have the format
EntityID1 EntityID2 Correlation
where EntityID1 and EntityID2 are non-negative integers and Correlation is a floating point number.
reader | the StreamReader to read from |
double SumUp | ( | int | entity_id, |
ICollection< int > | entities | ||
) | [inline, inherited] |
Sum up the correlations between a given entity and the entities in a collection.
entity_id | the numerical ID of the entity |
entities | a collection containing the numerical IDs of the entities to compare to |
SymmetricMatrix | ( | int | dim | ) | [inline, inherited] |
Initializes a new instance of the SymmetricMatrix class.
dim | the number of rows and columns |
IMatrix<T> Transpose | ( | ) | [inline, inherited] |
Get the transpose of the matrix, i.e. a matrix where rows and columns are interchanged.
Implements IMatrix< T >.
void Write | ( | StreamWriter | writer | ) | [inline, inherited] |
Write out the correlations to a StreamWriter.
writer | A StreamWriter |
int dim [inherited] |
Dimension, the number of rows and columns.
int num_entities [protected, inherited] |
Number of entities, e.g. users or items.
int NumberOfColumns [get, inherited] |
int NumberOfRows [get, inherited] |
T this[int x, int y] [get, set, inherited] |
The value at (i,j)
The value at (i,j)
x | the row ID |
y | the column ID |
Implemented in SparseMatrix< T >, SkewSymmetricSparseMatrix, SymmetricSparseMatrix< T >, SparseBooleanMatrix, SparseBooleanMatrixBinarySearch, and SparseBooleanMatrixStatic.