mlpack
Public Member Functions | List of all members
mlpack::cf::RegSVDPolicy Class Reference

Implementation of the Regularized SVD policy to act as a wrapper when accessing Regularized SVD from within CFType. More...

#include <regularized_svd_method.hpp>

Public Member Functions

 RegSVDPolicy (const size_t maxIterations=10)
 Use regularized SVD method to perform collaborative filtering. More...
 
void Apply (const arma::mat &data, const arma::sp_mat &, const size_t rank, const size_t maxIterations, const double, const bool)
 Apply Collaborative Filtering to the provided data set using the regularized SVD. More...
 
double GetRating (const size_t user, const size_t item) const
 Return predicted rating given user ID and item ID. More...
 
void GetRatingOfUser (const size_t user, arma::vec &rating) const
 Get predicted ratings for a user. More...
 
template<typename NeighborSearchPolicy >
void GetNeighborhood (const arma::Col< size_t > &users, const size_t numUsersForSimilarity, arma::Mat< size_t > &neighborhood, arma::mat &similarities) const
 Get the neighborhood and corresponding similarities for a set of users. More...
 
const arma::mat & W () const
 Get the Item Matrix.
 
const arma::mat & H () const
 Get the User Matrix.
 
size_t MaxIterations () const
 Get the number of iterations.
 
size_t & MaxIterations ()
 Modify the number of iterations.
 
template<typename Archive >
void serialize (Archive &ar, const uint32_t)
 Serialization.
 

Detailed Description

Implementation of the Regularized SVD policy to act as a wrapper when accessing Regularized SVD from within CFType.

An example of how to use RegSVDPolicy in CF is shown below:

extern arma::mat data; // data is a (user, item, rating) table.
// Users for whom recommendations are generated.
extern arma::Col<size_t> users;
arma::Mat<size_t> recommendations; // Resulting recommendations.
CFType<RegSVDPolicy> cf(data);
// Generate 10 recommendations for all users.
cf.GetRecommendations(10, recommendations);

Constructor & Destructor Documentation

◆ RegSVDPolicy()

mlpack::cf::RegSVDPolicy::RegSVDPolicy ( const size_t  maxIterations = 10)
inline

Use regularized SVD method to perform collaborative filtering.

Parameters
maxIterationsNumber of iterations for the power method (Default: 2).

Member Function Documentation

◆ Apply()

void mlpack::cf::RegSVDPolicy::Apply ( const arma::mat &  data,
const arma::sp_mat &  ,
const size_t  rank,
const size_t  maxIterations,
const double  ,
const bool   
)
inline

Apply Collaborative Filtering to the provided data set using the regularized SVD.

Parameters
dataData matrix: dense matrix (coordinate lists) or sparse matrix(cleaned).
*(cleanedData) item user table in form of sparse matrix.
rankRank parameter for matrix factorization.
maxIterationsMaximum number of iterations.
*(minResidue) Residue required to terminate.
*(mit) Whether to terminate only when maxIterations is reached.

◆ GetNeighborhood()

template<typename NeighborSearchPolicy >
void mlpack::cf::RegSVDPolicy::GetNeighborhood ( const arma::Col< size_t > &  users,
const size_t  numUsersForSimilarity,
arma::Mat< size_t > &  neighborhood,
arma::mat &  similarities 
) const
inline

Get the neighborhood and corresponding similarities for a set of users.

Template Parameters
NeighborSearchPolicyThe policy to perform neighbor search.
Parameters
usersUsers whose neighborhood is to be computed.
numUsersForSimilarityThe number of neighbors returned for each user.
neighborhoodNeighbors represented by user IDs.
similaritiesSimilarity between each user and each of its neighbors.

◆ GetRating()

double mlpack::cf::RegSVDPolicy::GetRating ( const size_t  user,
const size_t  item 
) const
inline

Return predicted rating given user ID and item ID.

Parameters
userUser ID.
itemItem ID.

◆ GetRatingOfUser()

void mlpack::cf::RegSVDPolicy::GetRatingOfUser ( const size_t  user,
arma::vec &  rating 
) const
inline

Get predicted ratings for a user.

Parameters
userUser ID.
ratingResulting rating vector.

The documentation for this class was generated from the following file: