Collaborative Filtering is a Machine Learning technique used to identify relationships between pieces of data. This technique is frequently used in recommender systems to identify similarities between user data and items.
This means that if Users A and B both like Product A, and User B also likes Product B, then Product B could be recommended to User A by the system.
The model keeps track of what products users like and their characteristics to see what users, who like products with similar characteristics, enjoyed. The model then makes its recommendations accordingly.
Product features should be given numerical values whenever possible as it makes decisions by the model more accurate. Once features are identified and assigned values, data collection needs to begin.
There are two ways the model can identify whether or not a user enjoyed a product. The user can be asked to give a numerical rating or the system can assume that the user likes whatever product they use. Once user interests have been established, recommendations can be made.
Let’s look at an example of a model that only considers one feature to make recommendations.
In this table, the 's mean that the user likes the product. Suppose we assume that Products 1 and 2 are Programming Tools, and Products 3 and 4 are Musical Instruments. In that case, the model can establish that User 1 likes both Programming Tools and Musical Instruments, User 2 likes Programming Tools, and User 3 and User 4 both like Musical Instruments.
With this data, the model can recommend both Products 1 and 4 to User 1, and Product 3 to User 4.
Obviously, this is a very basic example of a very complex technology. Recommender Systems are more accurate and make more sense when more than one feature is used.