The design of collaborative filters is influenced by two factors, which are as follows:
Based on these two entities, there are two major varieties of collaborative filtering methods. The first of these methods takes the similarity between users to recommend items. This is known as User-User collaborative filtering or User k-Nearest Neighbors.
If the number of users of a recommender system is denoted by m and the number of items is denoted by n and if m >> n (m is much greater than n) then user-user collaborative filtering suffers from performance hiccups. In this case, item-item collaborative filtering (which relies on the similarity of the items) is often implemented.
In the next few sections, these two algorithms will be discussed at length.