Collaborative filtering is among the most promising approaches to recommender system. In real world scenarios, many types of auxiliary information are available besides the user preference matrix and the use of them may enhance the prediction accuracy. For example, information such as time and location can help better predict users' preferences based on the contexts, while information such as users' ages and gender can help make better prediction on the basis of user profiles. From the viewpoint of learning, the use of auxiliary information can overcome the sparsity of the matrix data.
SVDFeature is a toolkit designed to efficiently solve large-scale collaborative filtering problems with auxiliary information. Unlike traditional engineering approaches for collaborative filtering which requires writing specific solver for each algorithm, SVDFeature solves a general form of CF problems thus allow develop new models just by defining new features. The feature-based setting allows us to include many kinds of information into the model. Using the toolkit, we can easily incorporate information such as temporal dynamics, neighborhood relationship, and hierarchical information into the model.
SVDFeature can be extended to support other models that utilize auxiliary information, we reuse the input module of SVDFeature. The underlying model does not have to be feature-based matrix factorization.