PosOnlyFeedback< T > Class Template Reference

Data structure for implicit, positive-only user feedback. More...

Inheritance diagram for PosOnlyFeedback< T >:
DataSet IPosOnlyFeedback IDataSet IDataSet

List of all members.

Public Member Functions

void Add (int user_id, int item_id)
 Add a user-item event to the data structure.
void BuildItemIndices ()
 Build the item indices.
void BuildRandomIndex ()
 Build the random index.
void BuildUserIndices ()
 Build the user indices.
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.
IBooleanMatrix GetItemMatrixCopy ()
 Get a copy of the item matrix.
ISet< int > GetItems (IList< int > indices)
 Get all items that are referenced by a given list of indices.
IBooleanMatrix GetUserMatrixCopy ()
 Get a copy of the user matrix.
ISet< int > GetUsers (IList< int > indices)
 Get all users that are referenced by a given list of indices.
 PosOnlyFeedback ()
 Default constructor.
void Remove (int index)
 Remove the event with a given index.
void Remove (int user_id, int item_id)
 Remove a user-item event from the data structure.
override void RemoveItem (int item_id)
 Remove all feedback about a given item.
override void RemoveUser (int user_id)
 Remove all feedback by a given user.
IPosOnlyFeedback Transpose ()
 Get the transpose of the dataset (users and items exchanged).
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

IList< IList< int > > by_item
 Indices organized by item.
IList< IList< int > > by_user
 Indices organized by user.

Properties

IList< int > AllItems [get]
 all item IDs in the dataset
IList< int > AllUsers [get]
 all user IDs in the dataset
IList< IList< int > > ByItem [get]
 indices by item
IList< IList< int > > ByUser [get]
 indices by user
virtual int Count [get]
 the number of interaction events in the dataset
IBooleanMatrix ItemMatrix [get]
 By-item access, items are stored in the rows, users in the columns.
IList< int > Items [get, set]
 the item entries
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
IBooleanMatrix UserMatrix [get]
 By-user access, users are stored in the rows, items in the columns.
IList< int > Users [get, set]
 the user entries

Detailed Description

template<T>
class MyMediaLite::Data::PosOnlyFeedback< T >

Data structure for implicit, positive-only user feedback.

This data structure supports incremental updates if supported by the type parameter T.

Type Constraints
T :IBooleanMatrix 
T :new() 

Constructor & Destructor Documentation

PosOnlyFeedback (  )  [inline]

Default constructor.


Member Function Documentation

void Add ( int  user_id,
int  item_id 
) [inline]

Add a user-item event to the data structure.

Parameters:
user_id the user ID
item_id the item ID

Implements IPosOnlyFeedback.

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.

int GetIndex ( int  user_id,
int  item_id,
ICollection< int >  indexes 
) [inline, inherited]

Get index for given user and item.

Parameters:
user_id the user ID
item_id the item ID
indexes the indexes to look at
Returns:
the index of the first event encountered that matches the user ID and item ID

Implements IDataSet.

int GetIndex ( int  user_id,
int  item_id 
) [inline, inherited]

Get index for a given user and item.

Parameters:
user_id the user ID
item_id the item ID
Returns:
the index of the first event encountered that matches the user ID and item ID

Implements IDataSet.

IBooleanMatrix GetItemMatrixCopy (  )  [inline]

Get a copy of the item matrix.

Returns:
a copy of the item matrix

Implements IPosOnlyFeedback.

ISet<int> GetItems ( IList< int >  indices  )  [inline, inherited]

Get all items that are referenced by a given list of indices.

Parameters:
indices the indices to take into account
Returns:
all items referenced by the list of indices

Implements IDataSet.

IBooleanMatrix GetUserMatrixCopy (  )  [inline]

Get a copy of the user matrix.

Returns:
a copy of the user matrix

Implements IPosOnlyFeedback.

ISet<int> GetUsers ( IList< int >  indices  )  [inline, inherited]

Get all users that are referenced by a given list of indices.

Parameters:
indices the indices to take into account
Returns:
all users referenced by the list of indices

Implements IDataSet.

void Remove ( int  index  )  [inline]

Remove the event with a given index.

Parameters:
index the index of the event to be removed
void Remove ( int  user_id,
int  item_id 
) [inline]

Remove a user-item event from the data structure.

If no event for the given user-item combination exists, nothing happens.

Parameters:
user_id the user ID
item_id the item ID

Implements IPosOnlyFeedback.

override void RemoveItem ( int  item_id  )  [inline, virtual]

Remove all feedback about a given item.

Parameters:
item_id the item ID

Implements DataSet.

override void RemoveUser ( int  user_id  )  [inline, virtual]

Remove all feedback by a given user.

Parameters:
user_id the user id

Implements DataSet.

IPosOnlyFeedback Transpose (  )  [inline]

Get the transpose of the dataset (users and items exchanged).

Returns:
the transpose of the dataset

Implements IPosOnlyFeedback.

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.

Parameters:
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
Returns:
true if an index was found for the user and item

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.

Parameters:
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
Returns:
true if an index was found for the user and item

Implements IDataSet.


Member Data Documentation

IList<IList<int> > by_item [protected, inherited]

Indices organized by item.

IList<IList<int> > by_user [protected, inherited]

Indices organized by user.


Property Documentation

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.

IList<IList<int> > ByItem [get, inherited]

indices by item

Should be implemented as a lazy data structure

Implements IDataSet.

IList<IList<int> > ByUser [get, inherited]

indices by user

Should be implemented as a lazy data structure

Implements IDataSet.

virtual int Count [get, inherited]

the number of interaction events in the dataset

Implements IDataSet.

Reimplemented in StaticRatings.

IBooleanMatrix ItemMatrix [get]

By-item access, items are stored in the rows, users in the columns.

Implements IPosOnlyFeedback.

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.

int MaxUserID [get, set, inherited]

the maximum user ID in the dataset

Implements IDataSet.

IList<int> RandomIndex [get, inherited]

get a randomly ordered list of all indices

Should be implemented as a lazy data structure

Implements IDataSet.

IBooleanMatrix UserMatrix [get]

By-user access, users are stored in the rows, items in the columns.

Implements IPosOnlyFeedback.

IList<int> Users [get, set, inherited]

the user entries

Implements IDataSet.


The documentation for this class was generated from the following file:
Generated on Fri Mar 2 21:19:31 2012 for MyMediaLite by  doxygen 1.6.3