Summary

In this chapter, we explored the process of building and evaluating recommender systems in R using the recommenderlab package. We focused primarily on the paradigm of collaborative filtering, which in a nutshell formalizes the idea of recommending items to users through word of mouth. As a general rule, we found that user-based collaborative filtering performs quite quickly but requires all the data to make predictions. Item-based collaborative filtering can be slow to train a model but makes predictions very quickly once the model is trained. It is useful in practice because it does not require us to store all the data. In some scenarios, the tradeoff in accuracy between these two can be high but in others the difference is acceptable.

The process of training recommendation systems is quite resource intensive and a number of important parameters come into play in the design, such as the metrics used to quantify similarity and distance between items and users. As the data sets we often encounter in this area are typically quite large, we also touched upon some key ideas of Big Data and took some first steps in working with the data.table package as one way of loading and manipulating large data sets in memory.

Finally, we touched upon alternatives to the collaborative filtering paradigm. Content-based recommendation systems are designed to leverage similarity between items on the basis of their content. As such, they are ideally suited to the domain of text. Knowledge-based recommendation systems are designed to make recommendations to users on the basis of a set of rules or constraints that have been designed by experts. These can be combined with the other approaches in order to address the cold start problem for new users or items.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.21.43.26