MyMediaLite
3.03
|
Data structure for storing ratings with time information. More...
Public Member Functions | |
override void | Add (int user_id, int item_id, float rating) |
Add float-valued rating to the collection. | |
virtual void | Add (int user_id, int item_id, float rating, DateTime time) |
add a rating event including time information | |
virtual void | Add (int user_id, int item_id, byte rating) |
Add byte-valued rating to the collection. | |
void | Add (float item) |
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) |
Get index for a given user and item. | |
int | GetIndex (int user_id, int item_id, ICollection< int > indexes) |
Get index for 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) |
virtual void | InitScale () |
Initialize the Scale property. | |
void | Insert (int index, float item) |
bool | Remove (float item) |
virtual 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. | |
TimedRatings () | |
Default constructor. | |
TimedRatings (SerializationInfo info, StreamingContext context) | |
virtual bool | TryGet (int user_id, int item_id, out float rating) |
Try to retrieve a rating for a given user-item combination. | |
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. | |
bool | TryGetIndex (int user_id, int item_id, out int index) |
Try to get the index for given user and item. | |
bool | TryGetIndex (int user_id, int item_id, ICollection< int > indexes, 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. | |
IList< int > | count_by_item |
field for storing the count per item | |
IList< int > | count_by_user |
field for storing the count per user | |
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 | |
new int | Count [get] |
the number of interaction events in the dataset | |
virtual int | Count [get] |
the number of interaction events in the dataset | |
IList< int > | CountByItem [get] |
count by item | |
IList< int > | CountByUser [get] |
count by user | |
DateTime | EarliestTime [get, set] |
earliest time | |
bool | IsReadOnly [get] |
IList< int > | Items [get, set] |
the item entries | |
DateTime | LatestTime [get, set] |
latest time | |
int | MaxItemID [get, set] |
the maximum item ID in the dataset | |
int | MaxUserID [get, set] |
the maximum user ID in the dataset | |
IList< int > | RandomIndex [get] |
get a randomly ordered list of all indices | |
RatingScale | Scale [get, set] |
information about the scale of the ratings in the dataset | |
virtual float | this[int index] [get, set] |
virtual float | this[int user_id, int item_id] [get] |
Directly access rating by user and item. | |
IList< DateTime > | Times [get, set] |
the item entries | |
IList< int > | Users [get, set] |
the user entries |
Data structure for storing ratings with time information.
This data structure supports incremental updates.
Loading the Netflix Prize data set (100,000,000 ratings) into this data structure requires about 3.2 GB of memory.
TimedRatings | ( | ) | [inline] |
Default constructor.
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.
virtual void Add | ( | int | user_id, |
int | item_id, | ||
float | rating, | ||
DateTime | time | ||
) | [inline, virtual] |
add a rating event including time information
It is up to the user of a class implementing this interface to decide whether the DateTime object represent local time, UTC, or any other time.
user_id | the user ID |
item_id | the item ID |
rating | the rating value |
time | A DateTime specifying the time of the rating event |
Implements ITimedRatings.
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.
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 | ||
) | [inline, inherited] |
Get index for a given user and item.
user_id | the user ID |
item_id | the item ID |
Implements IDataSet.
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.
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.
virtual void InitScale | ( | ) | [inline, virtual, inherited] |
override void RemoveItem | ( | int | item_id | ) | [inline, virtual, inherited] |
Remove all events related to a given item.
item_id | the item ID |
Implements DataSet.
Reimplemented in StaticRatings, and RatingsProxy.
override void RemoveUser | ( | int | user_id | ) | [inline, virtual, inherited] |
Remove all events related to a given user.
user_id | the user ID |
Implements DataSet.
Reimplemented in StaticRatings, and RatingsProxy.
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.
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.
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.
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.
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.
IList<int> count_by_item [protected, inherited] |
field for storing the count per item
IList<int> count_by_user [protected, inherited] |
field for storing the count per user
IList<IList<int> > ByItem [get, inherited] |
IList<IList<int> > ByUser [get, inherited] |
new int Count [get, inherited] |
virtual int Count [get, inherited] |
the number of interaction events in the dataset
Implements IDataSet.
Reimplemented in StaticRatings.
IList<int> CountByItem [get, inherited] |
IList<int> CountByUser [get, inherited] |
DateTime EarliestTime [get, set] |
earliest time
Implements ITimedDataSet.
DateTime LatestTime [get, set] |
latest time
Implements ITimedDataSet.
IList<int> RandomIndex [get, inherited] |
get a randomly ordered list of all indices
Should be implemented as a lazy data structure
Implements IDataSet.
RatingScale Scale [get, set, inherited] |
information about the scale of the ratings in the dataset
Implements IRatings.
virtual float this[int user_id, int item_id] [get, 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<DateTime> Times [get, set] |
the item entries
Implements ITimedDataSet.