ItemCF does not use the content attributes of items to calculate the similarity between items, but mainly records the similarity of items by analyzing user behavior.
The algorithm thinks that A and B are similar because most users who like A also like B.
Use the historical behavior of users to provide recommendation explanations for recommendation results. For example, I like or have collected archery sculptures, and I recommend Tianlong Babu.
1, calculate the similarity of projects.
2. Generate a recommendation list according to the similarity of projects and the historical behavior of users.
Wij = | Number of people who like both items I and J |/| Number of people who like item I |
Punish hot items:
Wij = | Number of people who like both items I and J |/sqrt (number of people who like I x number of people who like J) * *
Calculate user u's interest in a project:
Puj = sum(Sji, Rui) j (- the set of k terms most similar to j.
The meaning of this formula is:
* * Items that are more similar to the items that users are interested in in in history are more likely to get a higher ranking in the user's recommendation list.
The popularity of itemCF is better, but the accuracy does not improve with the increase of k value.
1、IUF
Sij = cij /match.sqrt(N[i]*N[j]) calculates the similarity of projects.
Weakening, then ignore cij = (1+1/log (1+n (u)) directly.
2. Of course, users with high activity can also ignore it.
W' ij = wij/maxJ(wij) normalized by class.
After normalization, the coverage rate can be increased by 4 percentage points.