I have a dataset that looks like this: enter image description here Image taken from this blog

Let's assume that I have applied Matrix factorization and have learned the zero values for the items missing for every user. I now know in a Collaborative filtering manner the items a user likes the most.

My question is what then.

How would I use this information to recommend products to a user? Do I just take the products with the highest rating? I have found a lot of literature on non negative matrix factorization but I have not found a paper on how to actually recommend products given the factorized matrix?

Is this something you naively implement(highest rated products) and just measure performance both in the offline(using RMSE, NDCG) and online(using CTR) part of the RS?

  • $\begingroup$ Yes, we take the products with the highest rating. We potentially might want to select the products with the highest rating that the user has "not yet rated" as to promote "new products" but that's a business decision. For example if the ratings correspond to TV series or take-away dishes we potentially want to keep promoting the user's favourite series or dish. On the other hand, if the items are movies or books, it makes little point to suggest re-watching a movie that the user has already seen or a book that she has read already. (Welcome to CV) $\endgroup$ – usεr11852 Mar 20 at 8:57
  • $\begingroup$ Welcome, it would be useful for you to show what the process you are querying returns, along with your interpretation of it, particularly what specific concerns arise. $\endgroup$ – ReneBt Mar 20 at 9:12
  • $\begingroup$ Thank you for the responses. I thought it was too trivial an approach that's why I am surprised that this is the way the factorized matrix is used. I understand you can have different filtering strategies built on top of the matrix if you want for example to recommend products of a specific category(some hybrid based approach) I don't have a query to provide, this has been so far a mental exercise that I did before implementing anything. $\endgroup$ – Panagiotis Chatzichristodoulou Mar 20 at 10:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.