I was reading about collaborative filtering where we need to pass (user, item and rating)
in case of matrix factorisation (SVD). Now, my question is given data of following form
User | Item | Rating
A | X1 | 1
A | X2 | 3
B | X2 | 4
C | X1 | 3
C | X3 | 2
we need to convert the it into
U/I | X1 | X2 | X3
A | 1 | 3 | -
B | - | 4 | -
C | 3 | - | 3
So, we need to replace all the -
with the predicted value prior to applying svd
on it. Now I would like to understand what are most practical or mostly adopted way to predict such missing rating:
I am aware about following crude ways, but they are not prediction of value but they are mere replacement of missing value
- Replace all missing values by neutral rating . (Say either 2 or 3 if rating are from 1-5).
- Replace with mean rating of the movie.
- Replace with average rating of that user. etc...