# How to include user features in a recommender system?

I'm novice in that matter but I was thinking about the formulation of a recommender system. Let's take the example of a movie recommendation system. We have a column dedicated to movies ID (or names), a matrix related to the rates the users gave to each movie, and a matrix with movie features (romance, drama, etc..)- joined a photo that shows this formulation. What about I would like to use users features to improve my recommendation? If I had information like age, profession, revenue of each user I would like to use it in my formulation. But if I include user features, this formulation is not Content-­‐based neither Collaborative filtering anymore. Anyone knows what kind of formulation it can assume?

This is referred to as side information. This is used to enhance the recommender system.

A good library for collaborative filtering (and beginner friendly) is turicreate. Have a look at this link. o summarise, the traditional, basic matrix factorisation will encode user i and items j respectively as vectors $$u_i$$ and $$v_j$$ so that the predicted score that a user would give to the unseen item is:

$$score(i,j) = u_i^T v_j$$

but you can have a more complex model that will also take into account idiosyncratic characteristics of both items and users:

$$score(i,j) = u_i^T v_j + a^T x_i + b^T y_j$$

which increases the capacity of the model.

• Thanks for you answer. I would like to use Python to modelate this problem, I'm not a math expert, but do you think I can "easily" use this library on Python? Do you know other libraires I can use to modelate this kind of problem? The only library I have used to modelate my ML problems was Sklearn. Sep 28 '20 at 14:18
• I think it's the easiest one I have used so far, there is a minimal amount of work to setup a model (I would say 5-10 lines of code) and then you can build up form there. Have a look at this link. Sep 29 '20 at 21:40