Array-based storage for rating data. More...
Public Member Functions | |
void | Add (float item) |
virtual void | Add (int user_id, int item_id, byte rating) |
Add byte-valued rating to the collection. | |
override void | Add (int user_id, int item_id, float rating) |
Add float-valued rating to the collection. | |
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 (float item) |
void | CopyTo (float[] array, int index) |
virtual float | Get (int user_id, int item_id, ICollection< int > indexes) |
Directly access rating by user and item. | |
int | GetIndex (int user_id, int item_id, ICollection< int > indexes) |
Get index for given user and item. | |
int | GetIndex (int user_id, int item_id) |
Get index for a given user and item. | |
ISet< int > | GetItems (IList< int > indices) |
Get all items that are referenced by a given list of indices. | |
override void | GetObjectData (SerializationInfo info, StreamingContext context) |
ISet< int > | GetUsers (IList< int > indices) |
Get all users that are referenced by a given list of indices. | |
int | IndexOf (float item) |
void | Insert (int index, float item) |
bool | Remove (float item) |
override void | RemoveAt (int index) |
override void | RemoveItem (int item_id) |
Remove all events related to a given item. | |
override void | RemoveUser (int user_id) |
Remove all events related to a given user. | |
StaticRatings (SerializationInfo info, StreamingContext context) | |
StaticRatings (int size) | |
StaticRatings () | |
default constructor | |
virtual bool | TryGet (int user_id, int item_id, ICollection< int > indexes, out float rating) |
Try to retrieve a rating for a given user-item combination. | |
virtual bool | TryGet (int user_id, int item_id, out float 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 Member Functions | |
void | UpdateCountsAndIndices (ISet< int > users, ISet< int > items) |
update user- and item-wise counts and indices | |
Protected Attributes | |
IList< IList< int > > | by_item |
Indices organized by item. | |
IList< IList< int > > | by_user |
Indices organized by user. | |
int | pos = 0 |
The position where the next rating will be stored. | |
IList< float > | Values |
Properties | |
IList< int > | AllItems [get] |
all item IDs in the dataset | |
IList< int > | AllUsers [get] |
all user IDs in the dataset | |
float | 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] |
the number of interaction events in the dataset | |
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 | |
float | MaxRating [get, set] |
the maximum rating in the dataset | |
int | MaxUserID [get, set] |
the maximum user ID in the dataset | |
float | MinRating [get, set] |
the minimum rating in the dataset | |
IList< int > | RandomIndex [get] |
get a randomly ordered list of all indices | |
virtual float | 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.
StaticRatings | ( | ) | [inline] |
default constructor
virtual void Add | ( | int | user_id, | |
int | item_id, | |||
byte | rating | |||
) | [inline, 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.
override void Add | ( | int | user_id, | |
int | item_id, | |||
float | rating | |||
) | [inline, virtual] |
Add float-valued rating to the collection.
user_id | the user ID | |
item_id | the item ID | |
rating | the rating |
Reimplemented from Ratings.
Reimplemented in StaticByteRatings.
void BuildItemIndices | ( | ) | [inline, inherited] |
Build the item indices.
Implements IDataSet.
void BuildRandomIndex | ( | ) | [inline, inherited] |
Build the random index.
Implements IDataSet.
void BuildUserIndices | ( | ) | [inline, inherited] |
Build the user indices.
Implements IDataSet.
virtual float Get | ( | int | user_id, | |
int | item_id, | |||
ICollection< int > | indexes | |||
) | [inline, 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.
int GetIndex | ( | int | user_id, | |
int | item_id, | |||
ICollection< int > | indexes | |||
) | [inline, inherited] |
Get index for given user and item.
user_id | the user ID | |
item_id | the item ID | |
indexes | the indexes to look at |
Implements IDataSet.
int GetIndex | ( | int | user_id, | |
int | item_id | |||
) | [inline, inherited] |
Get index for a given user and item.
user_id | the user ID | |
item_id | the item ID |
Implements IDataSet.
ISet<int> GetItems | ( | IList< int > | indices | ) | [inline, inherited] |
Get all items that are referenced by a given list of indices.
indices | the indices to take into account |
Implements IDataSet.
ISet<int> GetUsers | ( | IList< int > | indices | ) | [inline, inherited] |
Get all users that are referenced by a given list of indices.
indices | the indices to take into account |
Implements IDataSet.
override void RemoveItem | ( | int | item_id | ) | [inline, virtual] |
Remove all events related to a given item.
item_id | the item ID |
Reimplemented from Ratings.
override void RemoveUser | ( | int | user_id | ) | [inline, virtual] |
Remove all events related to a given user.
user_id | the user ID |
Reimplemented from Ratings.
virtual bool TryGet | ( | int | user_id, | |
int | item_id, | |||
ICollection< int > | indexes, | |||
out float | rating | |||
) | [inline, 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.
virtual bool TryGet | ( | int | user_id, | |
int | item_id, | |||
out float | rating | |||
) | [inline, 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.
bool TryGetIndex | ( | int | user_id, | |
int | item_id, | |||
ICollection< int > | indexes, | |||
out int | index | |||
) | [inline, 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 event encountered that matches the user ID and item ID |
Implements IDataSet.
bool TryGetIndex | ( | int | user_id, | |
int | item_id, | |||
out int | index | |||
) | [inline, 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 event encountered that matches the user ID and item ID |
Implements IDataSet.
void UpdateCountsAndIndices | ( | ISet< int > | users, | |
ISet< int > | items | |||
) | [inline, protected, inherited] |
update user- and item-wise counts and indices
users | the modified users | |
items | the modified itemsItems. |
IList<IList<int> > by_item [protected, inherited] |
Indices organized by item.
IList<IList<int> > by_user [protected, inherited] |
Indices organized by user.
int pos = 0 [protected] |
The position where the next rating will be stored.
IList<int> AllItems [get, inherited] |
all item IDs in the dataset
Implements IDataSet.
IList<int> AllUsers [get, inherited] |
all user IDs in the dataset
Implements IDataSet.
float Average [get, inherited] |
average rating in the dataset
Implements IRatings.
IList<IList<int> > ByItem [get, inherited] |
IList<IList<int> > ByUser [get, inherited] |
override int Count [get] |
the number of interaction events in the dataset
Reimplemented from DataSet.
IList<int> CountByItem [get, inherited] |
IList<int> CountByUser [get, inherited] |
IList<int> Items [get, set, inherited] |
the item entries
Implements IDataSet.
int MaxItemID [get, set, inherited] |
the maximum item ID in the dataset
Implements IDataSet.
float 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 IDataSet.
float 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 IDataSet.
float this [get, set, inherited] |
Directly access rating by user and item.
user_id | the user ID | |
item_id | the item ID |
the rating value for the given user and item
Implements IRatings.
Reimplemented in StaticByteRatings.
IList<int> Users [get, set, inherited] |
the user entries
Implements IDataSet.