Scroll to navigation

mlpack::cf::CF< FactorizerType >(3) MLPACK mlpack::cf::CF< FactorizerType >(3)

NAME

mlpack::cf::CF< FactorizerType > -
This class implements Collaborative Filtering ( CF).

SYNOPSIS

Public Member Functions


CF (arma::mat &data, const size_t numUsersForSimilarity=5, const size_t rank=0)
 
Initialize the CF object. const arma::sp_mat & CleanedData () const
 
Get the cleaned data matrix. const arma::mat & Data () const
 
Get the data matrix. void Factorizer (const FactorizerType &f)
 
Sets factorizer for NMF. void GetRecommendations (const size_t numRecs, arma::Mat< size_t > &recommendations)
 
Generates the given number of recommendations for all users. void GetRecommendations (const size_t numRecs, arma::Mat< size_t > &recommendations, arma::Col< size_t > &users)
 
Generates the given number of recommendations for the specified users. const arma::mat & H () const
 
Get the Item Matrix. void NumUsersForSimilarity (const size_t num)
 
Sets number of users for calculating similarity. size_t NumUsersForSimilarity () const
 
Gets number of users for calculating similarity. void Rank (const size_t rankValue)
 
Sets rank parameter for matrix factorization. size_t Rank () const
 
Gets rank parameter for matrix factorization. const arma::mat & Rating () const
 
Get the Rating Matrix. std::string ToString () const
 
Returns a string representation of this object. const arma::mat & W () const
 
Get the User Matrix.

Private Member Functions


void CleanData ()
 
Converts the User, Item, Value Matrix to User-Item Table. void InsertNeighbor (const size_t queryIndex, const size_t pos, const size_t neighbor, const double value, arma::Mat< size_t > &recommendations, arma::mat &values) const
 
Helper function to insert a point into the recommendation matrices.

Private Attributes


arma::sp_mat cleanedData
 
Cleaned data matrix. arma::mat data
 
Initial data matrix. FactorizerType factorizer
 
Instantiated factorizer object. arma::mat h
 
Item matrix. size_t numUsersForSimilarity
 
Number of users for similarity. size_t rank
 
Rank used for matrix factorization. arma::mat rating
 
Rating matrix. arma::mat w
 
User matrix.

Detailed Description

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>>class mlpack::cf::CF< FactorizerType >

This class implements Collaborative Filtering ( CF).
This implementation presently supports Alternating Least Squares (ALS) for collaborative filtering.
A simple example of how to run Collaborative Filtering is shown below.
extern arma::mat data; // (user, item, rating) table
extern arma::Col<size_t> users; // users seeking recommendations
arma::Mat<size_t> recommendations; // Recommendations
CF<> cf(data); // Default options.
// Generate 10 recommendations for all users. cf.GetRecommendations(10, recommendations);
// Generate 10 recommendations for specified users. cf.GetRecommendations(10, recommendations, users);
The data matrix is a (user, item, rating) table. Each column in the matrix should have three rows. The first represents the user; the second represents the item; and the third represents the rating. The user and item, while they are in a matrix that holds doubles, should hold integer (or size_t) values. The user and item indices are assumed to start at 0.
Template Parameters:
FactorizerType The type of matrix factorization to use to decompose the rating matrix (a W and H matrix). This must implement the method Apply(arma::sp_mat& data, size_t rank, arma::mat& W, arma::mat& H).
Definition at line 76 of file cf.hpp.

Constructor & Destructor Documentation

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> mlpack::cf::CF< FactorizerType >:: CF (arma::mat &data, const size_tnumUsersForSimilarity = 5, const size_trank = 0)

Initialize the CF object. Store a reference to the data that we will be using. There are parameters that can be set; default values are provided for each of them. If the rank is left unset (or is set to 0), a simple density-based heuristic will be used to choose a rank.
Parameters:
data Initial (user, item, rating) matrix.
 
numUsersForSimilarity Size of the neighborhood.
 
rank Rank parameter for matrix factorization.

Member Function Documentation

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> void mlpack::cf::CF< FactorizerType >::CleanData () [private]

Converts the User, Item, Value Matrix to User-Item Table.

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> const arma::sp_mat& mlpack::cf::CF< FactorizerType >::CleanedData () const [inline]

Get the cleaned data matrix.
Definition at line 138 of file cf.hpp.
References mlpack::cf::CF< FactorizerType >::cleanedData.

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> const arma::mat& mlpack::cf::CF< FactorizerType >::Data () const [inline]

Get the data matrix.
Definition at line 136 of file cf.hpp.
References mlpack::cf::CF< FactorizerType >::data.

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> void mlpack::cf::CF< FactorizerType >::Factorizer (const FactorizerType &f) [inline]

Sets factorizer for NMF.
Definition at line 124 of file cf.hpp.
References mlpack::cf::CF< FactorizerType >::factorizer.

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> void mlpack::cf::CF< FactorizerType >::GetRecommendations (const size_tnumRecs, arma::Mat< size_t > &recommendations)

Generates the given number of recommendations for all users.
Parameters:
numRecs Number of Recommendations
 
recommendations Matrix to save recommendations into.

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> void mlpack::cf::CF< FactorizerType >::GetRecommendations (const size_tnumRecs, arma::Mat< size_t > &recommendations, arma::Col< size_t > &users)

Generates the given number of recommendations for the specified users.
Parameters:
numRecs Number of Recommendations
 
recommendations Matrix to save recommendations
 
users Users for which recommendations are to be generated

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> const arma::mat& mlpack::cf::CF< FactorizerType >::H () const [inline]

Get the Item Matrix.
Definition at line 132 of file cf.hpp.
References mlpack::cf::CF< FactorizerType >::h.

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> void mlpack::cf::CF< FactorizerType >::InsertNeighbor (const size_tqueryIndex, const size_tpos, const size_tneighbor, const doublevalue, arma::Mat< size_t > &recommendations, arma::mat &values) const [private]

Helper function to insert a point into the recommendation matrices.
Parameters:
queryIndex Index of point whose recommendations we are inserting into.
 
pos Position in list to insert into.
 
neighbor Index of item being inserted as a recommendation.
 
value Value of recommendation.

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> void mlpack::cf::CF< FactorizerType >::NumUsersForSimilarity (const size_tnum) [inline]

Sets number of users for calculating similarity.
Definition at line 94 of file cf.hpp.
References mlpack::cf::CF< FactorizerType >::numUsersForSimilarity, and mlpack::Log::Warn.

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> size_t mlpack::cf::CF< FactorizerType >::NumUsersForSimilarity () const [inline]

Gets number of users for calculating similarity.
Definition at line 106 of file cf.hpp.
References mlpack::cf::CF< FactorizerType >::numUsersForSimilarity.

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> void mlpack::cf::CF< FactorizerType >::Rank (const size_trankValue) [inline]

Sets rank parameter for matrix factorization.
Definition at line 112 of file cf.hpp.
References mlpack::cf::CF< FactorizerType >::rank.

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> size_t mlpack::cf::CF< FactorizerType >::Rank () const [inline]

Gets rank parameter for matrix factorization.
Definition at line 118 of file cf.hpp.
References mlpack::cf::CF< FactorizerType >::rank.

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> const arma::mat& mlpack::cf::CF< FactorizerType >::Rating () const [inline]

Get the Rating Matrix.
Definition at line 134 of file cf.hpp.
References mlpack::cf::CF< FactorizerType >::rating.

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> std::string mlpack::cf::CF< FactorizerType >::ToString () const

Returns a string representation of this object.

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> const arma::mat& mlpack::cf::CF< FactorizerType >::W () const [inline]

Get the User Matrix.
Definition at line 130 of file cf.hpp.
References mlpack::cf::CF< FactorizerType >::w.

Member Data Documentation

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> arma::sp_mat mlpack::cf::CF< FactorizerType >::cleanedData [private]

Cleaned data matrix.
Definition at line 181 of file cf.hpp.
Referenced by mlpack::cf::CF< FactorizerType >::CleanedData().

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> arma::mat mlpack::cf::CF< FactorizerType >::data [private]

Initial data matrix.
Definition at line 167 of file cf.hpp.
Referenced by mlpack::cf::CF< FactorizerType >::Data().

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> FactorizerType mlpack::cf::CF< FactorizerType >::factorizer [private]

Instantiated factorizer object.
Definition at line 173 of file cf.hpp.
Referenced by mlpack::cf::CF< FactorizerType >::Factorizer().

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> arma::mat mlpack::cf::CF< FactorizerType >::h [private]

Item matrix.
Definition at line 177 of file cf.hpp.
Referenced by mlpack::cf::CF< FactorizerType >::H().

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> size_t mlpack::cf::CF< FactorizerType >::numUsersForSimilarity [private]

Number of users for similarity.
Definition at line 169 of file cf.hpp.
Referenced by mlpack::cf::CF< FactorizerType >::NumUsersForSimilarity().

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> size_t mlpack::cf::CF< FactorizerType >::rank [private]

Rank used for matrix factorization.
Definition at line 171 of file cf.hpp.
Referenced by mlpack::cf::CF< FactorizerType >::Rank().

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> arma::mat mlpack::cf::CF< FactorizerType >::rating [private]

Rating matrix.
Definition at line 179 of file cf.hpp.
Referenced by mlpack::cf::CF< FactorizerType >::Rating().

template<typename FactorizerType = amf::AMF<amf::SimpleResidueTermination, amf::RandomInitialization, amf::NMFALSUpdate>> arma::mat mlpack::cf::CF< FactorizerType >::w [private]

User matrix.
Definition at line 175 of file cf.hpp.
Referenced by mlpack::cf::CF< FactorizerType >::W().

Author

Generated automatically by Doxygen for MLPACK from the source code.
Tue Sep 9 2014 Version 1.0.10