Shrunk Pearson correlation for rating data
More...
|
void | AddEntity (int entity_id) |
| Add an entity to the ICorrelationMatrix by growing it to the requested size. More...
|
|
float | ComputeCorrelation (IRatings ratings, EntityType entity_type, int i, int j) |
| Computes the correlation of two rating vectors More...
|
|
float | ComputeCorrelation (IRatings ratings, EntityType entity_type, IList< Tuple< int, float >> entity_ratings, int j) |
| Compute correlation between two entities for given ratings More...
|
|
void | ComputeCorrelations (IRatings ratings, EntityType entity_type) |
| Compute the correlations for a given entity type from a rating dataset More...
|
|
IMatrix< T > | CreateMatrix (int num_rows, int num_columns) |
| Create a matrix with a given number of rows and columns More...
|
|
IMatrix< T > | CreateMatrix (int num_rows, int num_columns) |
| Create a matrix with a given number of rows and columns More...
|
|
override IMatrix< T > | CreateMatrix (int num_rows, int num_columns) |
| Create a matrix with a given number of rows and columns More...
|
|
| Pearson (int num_entities, float shrinkage) |
| Constructor. Create a Pearson correlation matrix More...
|
|
void | Resize (int num_rows, int num_cols) |
| Grows or shrinks the matrix to the requested size, if necessary More...
|
|
void | Resize (int num_rows, int num_cols) |
| Grows or shrinks the matrix to the requested size, if necessary More...
|
|
override void | Resize (int size) |
| Resize to the given size More...
|
|
IMatrix< T > | Transpose () |
| Get the transpose of the matrix, i.e. a matrix where rows and columns are interchanged More...
|
|
IMatrix< T > | Transpose () |
| Get the transpose of the matrix, i.e. a matrix where rows and columns are interchanged More...
|
|
void | Write (StreamWriter writer) |
| Write out the correlations to a StreamWriter More...
|
|
|
virtual float | ComputeCorrelation (double i_sum, double j_sum, double ii_sum, double jj_sum, double ij_sum, int n) |
|
virtual double | GetDenominator (double i_sum, double j_sum, double ii_sum, double jj_sum, int n) |
|
virtual double | GetNumerator (double i_sum, double j_sum, double ij_sum, int n) |
|
|
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] |
|
int | NumberOfColumns [get] |
| The number of columns of the matrix More...
|
|
int | NumberOfColumns [get] |
| The number of columns of the matrix More...
|
|
override int | NumberOfNonEmptyEntries [get] |
|
int | NumberOfRows [get] |
| The number of rows of the matrix More...
|
|
int | NumberOfRows [get] |
| The number of rows of the matrix More...
|
|
int | NumEntities [get] |
| Number of entities the correlation is defined over More...
|
|
float | Shrinkage [get, set] |
| shrinkage parameter, if set to 0 we have the standard Pearson correlation without shrinkage More...
|
|
override T | this[int x, int y] [get, set] |
| Access the elements of the sparse matrix More...
|
|
T | this[int x, int y] [get, set] |
| The value at (i,j) More...
|
|
T | this[int x, int y] [get, set] |
| The value at (i,j) More...
|
|
Shrunk Pearson correlation for rating data
The correlation values are shrunk towards zero, depending on the number of ratings the estimate is based on. Otherwise, we would give too much weight to similarities estimated from just a few examples.
http://en.wikipedia.org/wiki/Pearson_correlation
We apply shrinkage as in formula (5.16) of chapter 5 of the Recommender Systems Handbook. Note that the shrinkage formula has changed betweem the two publications. It is now based on the assumption that the true correlations are normally distributed; the shrunk estimate is the posterior mean of the empirical estimate.
Literature:
Pearson |
( |
int |
num_entities, |
|
|
float |
shrinkage |
|
) |
| |
|
inline |
Constructor. Create a Pearson correlation matrix
- Parameters
-
num_entities | the number of entities |
shrinkage | shrinkage parameter |
void AddEntity |
( |
int |
entity_id | ) |
|
|
inlineinherited |
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_id | the numerical ID of the entity |
Implements ICorrelationMatrix.
Computes the correlation of two rating vectors
- Parameters
-
ratings | the rating data |
entity_type | the entity type, either USER or ITEM |
i | the ID of the first entity |
j | the ID of the second entity |
- Returns
- the correlation of the two vectors
Implements IRatingCorrelationMatrix.
float ComputeCorrelation |
( |
IRatings |
ratings, |
|
|
EntityType |
entity_type, |
|
|
IList< Tuple< int, float >> |
entity_ratings, |
|
|
int |
j |
|
) |
| |
|
inline |
Compute correlation between two entities for given ratings
- Parameters
-
ratings | the rating data |
entity_type | the entity type, either USER or ITEM |
entity_ratings | ratings identifying the first entity |
j | the ID of second entity |
Implements IRatingCorrelationMatrix.
Compute the correlations for a given entity type from a rating dataset
- Parameters
-
ratings | the rating data |
entity_type | the EntityType - either USER or ITEM |
Implements IRatingCorrelationMatrix.
IMatrix<T> CreateMatrix |
( |
int |
num_rows, |
|
|
int |
num_columns |
|
) |
| |
|
inherited |
Create a matrix with a given number of rows and columns
- Parameters
-
num_rows | the number of rows |
num_columns | the number of columns |
- Returns
- A matrix with num_rows rows and num_column columns
IMatrix<T> CreateMatrix |
( |
int |
num_rows, |
|
|
int |
num_columns |
|
) |
| |
|
inherited |
Create a matrix with a given number of rows and columns
- Parameters
-
num_rows | the number of rows |
num_columns | the number of columns |
- Returns
- A matrix with num_rows rows and num_column columns
override IMatrix<T> CreateMatrix |
( |
int |
num_rows, |
|
|
int |
num_columns |
|
) |
| |
|
inlineinherited |
Create a matrix with a given number of rows and columns
- Parameters
-
num_rows | the number of rows |
num_columns | the number of columns |
- Returns
- A matrix with num_rows rows and num_column columns
void Resize |
( |
int |
num_rows, |
|
|
int |
num_cols |
|
) |
| |
|
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_rows | the number of rows |
num_cols | the number of columns |
void Resize |
( |
int |
num_rows, |
|
|
int |
num_cols |
|
) |
| |
|
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_rows | the number of rows |
num_cols | the number of columns |
override void Resize |
( |
int |
size | ) |
|
|
inlineinherited |
Get the transpose of the matrix, i.e. a matrix where rows and columns are interchanged
- Returns
- the transpose of the matrix (copy)
Get the transpose of the matrix, i.e. a matrix where rows and columns are interchanged
- Returns
- the transpose of the matrix (copy)
void Write |
( |
StreamWriter |
writer | ) |
|
|
inlineinherited |
The number of columns of the matrix
The number of columns of the matrix
The number of columns of the matrix
The number of columns of the matrix
The number of rows of the matrix
The number of rows of the matrix
The number of rows of the matrix
The number of rows of the matrix
Number of entities the correlation is defined over
shrinkage parameter, if set to 0 we have the standard Pearson correlation without shrinkage
override T this[int x, int y] |
|
getsetinherited |
Access the elements of the sparse matrix
- Parameters
-
x | the row ID |
y | the column ID |
The value at (i,j)
The value at (i,j)
- Parameters
-
x | the row ID |
y | the column ID |
The value at (i,j)
The value at (i,j)
- Parameters
-
x | the row ID |
y | the column ID |
The documentation for this class was generated from the following file: