Array-based storage for rating data. More...
Public Member Functions | |
void | Add (double item) |
virtual void | Add (int user_id, int item_id, byte rating) |
Add byte-valued rating to the collection. | |
virtual void | Add (int user_id, int item_id, float rating) |
Add float-valued rating to the collection. | |
override void | Add (int user_id, int item_id, double rating) |
Add a new rating. | |
void | BuildByItemCounts () |
void | BuildByUserCounts () |
void | BuildItemIndices () |
Build the item indices. | |
void | BuildRandomIndex () |
Build the random index. | |
void | BuildUserIndices () |
Build the user indices. | |
void | Clear () |
bool | Contains (double item) |
void | CopyTo (double[] array, int index) |
virtual double | Get (int user_id, int item_id, ICollection< int > indexes) |
Directly access rating by user and item. | |
double | Get (int user_id, int item_id) |
Directly access rating by user and item. | |
int | GetIndex (int user_id, int item_id, ICollection< int > indexes) |
Get index of rating for given user and item. | |
int | GetIndex (int user_id, int item_id) |
Get index of rating for given user and item. | |
HashSet< int > | GetItems (IList< int > indices) |
Get all items that are referenced by a given list of indices. | |
HashSet< int > | GetUsers (IList< int > indices) |
Get all users that are referenced by a given list of indices. | |
int | IndexOf (double item) |
void | Insert (int index, double item) |
bool | Remove (double item) |
override void | RemoveAt (int index) |
override void | RemoveItem (int item_id) |
Remove all ratings of a given item. | |
override void | RemoveUser (int user_id) |
Remove all ratings by a given user. | |
StaticRatings (int size) | |
virtual bool | TryGet (int user_id, int item_id, ICollection< int > indexes, out double rating) |
Try to retrieve a rating for a given user-item combination. | |
virtual bool | TryGet (int user_id, int item_id, out double rating) |
Try to retrieve a rating for a given user-item combination. | |
bool | TryGetIndex (int user_id, int item_id, ICollection< int > indexes, out int index) |
Try to get the index for given user and item. | |
bool | TryGetIndex (int user_id, int item_id, out int index) |
Try to get the index for given user and item. | |
Protected Attributes | |
int | pos = 0 |
The position where the next rating will be stored. | |
IList< double > | Values |
Properties | |
HashSet< int > | AllItems [get] |
all item IDs in the dataset | |
HashSet< int > | AllUsers [get] |
all user IDs in the dataset | |
double | Average [get] |
average rating in the dataset | |
IList< IList< int > > | ByItem [get] |
indices by item | |
IList< IList< int > > | ByUser [get] |
indices by user | |
override int | Count [get] |
IList< int > | CountByItem [get] |
rating count by item | |
IList< int > | CountByUser [get] |
rating count by user | |
bool | IsReadOnly [get] |
IList< int > | Items [get, set] |
the item entries | |
int | MaxItemID [get, set] |
the maximum item ID in the dataset | |
double | MaxRating [get, set] |
the maximum rating in the dataset | |
int | MaxUserID [get, set] |
the maximum user ID in the dataset | |
double | MinRating [get, set] |
the minimum rating in the dataset | |
IList< int > | RandomIndex [get] |
get a randomly ordered list of all indices | |
virtual double | this [int index] [get, set] |
Directly access rating by user and item. | |
IList< int > | Users [get, set] |
the user entries |
Array-based storage for rating data.
Very memory-efficient.
This data structure does NOT support incremental updates.
virtual void Add | ( | int | user_id, | |
int | item_id, | |||
byte | rating | |||
) | [virtual, inherited] |
Add byte-valued rating to the collection.
user_id | the user ID | |
item_id | the item ID | |
rating | the rating |
Implements IRatings.
Reimplemented in StaticByteRatings, and StaticFloatRatings.
virtual void Add | ( | int | user_id, | |
int | item_id, | |||
float | rating | |||
) | [virtual, inherited] |
Add float-valued rating to the collection.
user_id | the user ID | |
item_id | the item ID | |
rating | the rating |
Implements IRatings.
Reimplemented in StaticFloatRatings.
override void Add | ( | int | user_id, | |
int | item_id, | |||
double | rating | |||
) | [virtual] |
Add a new rating.
user_id | the user ID | |
item_id | the item ID | |
rating | the rating value |
Reimplemented from Ratings.
Reimplemented in StaticByteRatings, and StaticFloatRatings.
void BuildItemIndices | ( | ) | [inherited] |
Build the item indices.
Implements IRatings.
void BuildRandomIndex | ( | ) | [inherited] |
Build the random index.
Implements IRatings.
void BuildUserIndices | ( | ) | [inherited] |
Build the user indices.
Implements IRatings.
virtual double Get | ( | int | user_id, | |
int | item_id, | |||
ICollection< int > | indexes | |||
) | [virtual, inherited] |
Directly access rating by user and item.
user_id | the user ID | |
item_id | the item ID | |
indexes | the indexes to look at |
Implements IRatings.
Reimplemented in StaticByteRatings, and StaticFloatRatings.
double Get | ( | int | user_id, | |
int | item_id | |||
) | [inherited] |
Directly access rating by user and item.
user_id | the user ID | |
item_id | the item ID |
Implements IRatings.
int GetIndex | ( | int | user_id, | |
int | item_id, | |||
ICollection< int > | indexes | |||
) | [inherited] |
Get index of rating for given user and item.
user_id | the user ID | |
item_id | the item ID | |
indexes | the indexes to look at |
Implements IRatings.
int GetIndex | ( | int | user_id, | |
int | item_id | |||
) | [inherited] |
Get index of rating for given user and item.
user_id | the user ID | |
item_id | the item ID |
Implements IRatings.
HashSet<int> GetItems | ( | IList< int > | indices | ) | [inherited] |
Get all items that are referenced by a given list of indices.
indices | the indices to take into account |
Implements IRatings.
HashSet<int> GetUsers | ( | IList< int > | indices | ) | [inherited] |
Get all users that are referenced by a given list of indices.
indices | the indices to take into account |
Implements IRatings.
override void RemoveItem | ( | int | item_id | ) | [virtual] |
override void RemoveUser | ( | int | user_id | ) | [virtual] |
virtual bool TryGet | ( | int | user_id, | |
int | item_id, | |||
ICollection< int > | indexes, | |||
out double | rating | |||
) | [virtual, inherited] |
Try to retrieve a rating for a given user-item combination.
user_id | the user ID | |
item_id | the item ID | |
indexes | the indexes to look at | |
rating | will contain the first rating encountered that matches the user ID and item ID |
Implements IRatings.
Reimplemented in StaticByteRatings, and StaticFloatRatings.
virtual bool TryGet | ( | int | user_id, | |
int | item_id, | |||
out double | rating | |||
) | [virtual, inherited] |
Try to retrieve a rating for a given user-item combination.
user_id | the user ID | |
item_id | the item ID | |
rating | will contain the first rating encountered that matches the user ID and item ID |
Implements IRatings.
Reimplemented in StaticByteRatings, and StaticFloatRatings.
bool TryGetIndex | ( | int | user_id, | |
int | item_id, | |||
ICollection< int > | indexes, | |||
out int | index | |||
) | [inherited] |
Try to get the index for given user and item.
user_id | the user ID | |
item_id | the item ID | |
indexes | the indexes to look at | |
index | will contain the index of the first rating encountered that matches the user ID and item ID |
Implements IRatings.
bool TryGetIndex | ( | int | user_id, | |
int | item_id, | |||
out int | index | |||
) | [inherited] |
Try to get the index for given user and item.
user_id | the user ID | |
item_id | the item ID | |
index | will contain the index of the first rating encountered that matches the user ID and item ID |
Implements IRatings.
int pos = 0 [protected] |
The position where the next rating will be stored.
HashSet<int> AllItems [get, inherited] |
all item IDs in the dataset
Implements IRatings.
HashSet<int> AllUsers [get, inherited] |
all user IDs in the dataset
Implements IRatings.
double Average [get, inherited] |
average rating in the dataset
Implements IRatings.
IList<IList<int> > ByItem [get, inherited] |
IList<IList<int> > ByUser [get, inherited] |
IList<int> CountByItem [get, inherited] |
IList<int> CountByUser [get, inherited] |
IList<int> Items [get, set, inherited] |
the item entries
Implements IRatings.
int MaxItemID [get, set, inherited] |
the maximum item ID in the dataset
Implements IRatings.
double MaxRating [get, set, inherited] |
the maximum rating in the dataset
Implements IRatings.
int MaxUserID [get, set, inherited] |
the maximum user ID in the dataset
Implements IRatings.
double MinRating [get, set, inherited] |
the minimum rating in the dataset
Implements IRatings.
IList<int> RandomIndex [get, inherited] |
get a randomly ordered list of all indices
Should be implemented as a lazy data structure
Implements IRatings.
double this [get, set, inherited] |
Directly access rating by user and item.
user_id | the user ID | |
item_id | the item ID |
Implements IRatings.
Reimplemented in StaticByteRatings, and StaticFloatRatings.
IList<int> Users [get, set, inherited] |
the user entries
Implements IRatings.