Collaborative Filtering

What is Collaborative Filtering
Collaborative Filtering is a method of making automatic predictions (filtering) about the interests of a single user by collecting preferences or taste information from many users (collaborating)

How it Works

There are two types of collaborative filtering algorithms, user based and item based.

User-based collaborative filtering algorithms work off the premise that if a user (A) has a similar profile to another user (B), then A is more likely to prefer things that B prefers when compared with a user chosen at random.  For example, a collaborative filtering recommendation system for television tastes could make predictions about which television show a user should like given a partial list of that user's tastes (likes or dislikes). Note that these predictions are specific to the user, but use information gleaned from many users. This differs from the simpler approach of giving an average (non-specific) score for each item of interest, for example based on its number of votes.

Item-based collaborative filtering has become popularized due to its use by YouTube and Amazon to provide recommendations to users.  This algorithm works by building an item-to-item matrix which defines the relationship between pairs of items.  When a user indicates a preference for a certain type of item, the matrix is used to identify other items with similar characteristics that can also be recommended.  

"Likeness" of users or items is defined by the algorithm and uses a specific statistical methodology.  Common methodologies for these algorithms are Log Likelihood, Euclidean Distance, Tanimoto Coefficient, ARTMAP, and Cosine Similarity.

Often time it is helpful to experiment with various collaborative filtering algorithms to determine which will work best for a specific data set. 

How to Use Our Collaborative Filtering Algorithms

Documentation is available for both Item and User based recommenders in the following sections.