We experimented with a number of different types of algorithms to build recommender systems. To learn more about them, please click on a link below:
- Memory-based algorithms
- Model-based algorithms
- Association Rules
Regardless of the type of algorithm we tried, there are three important criteria that determine how useful an algorithm is.
1. Quality of Predictions
This is a pretty obvious one - of course we want our recommender to make good recommendations. More so, we want it to perform better than any "dumb" prediction algorithm which just uses global data, such as an average rating for items.
Most recommender systems work in a commercial and/or online setting, and so it is important that they can start making recommendations for a user almost instantly. This means that the algorithm cannot take too long to make any predictions - it has to work, and work fast!
Directly related to speed is the scalability of the algorithm. Again, systems in a commercial and/or online setting can have a huge dataset. The algorithm must maintain its speed even if there are many billions of ratings.
3. Easily Updated
The datasets behind recommender systems are constantly being updated with new ratings from users. As such, the algorithm must handle this updated information quickly. If the algorithm required a model that needed several hours to build, it might miss out on its chance to make recommendations based on new information quickly.
Naturally there are some other properties we would like our algorithms to have, but are not always obtainable. Here is a brief list of other desired qualities.
- Cold start ability - that is, the ability to start making good predictions to a new user.
- Sparse data handling - sometimes our datasets are very sparse, and but we still want to make good predictions.