3
$\begingroup$

I would like to ask a question about recommender systems. We are showing some movies to users and they have to decide if they like them or not. These movies have only a few attributes

Title Director Category Duration Nationality

We show the attributes as a block. The users can decide if they like (the block) or not. We aggregate these decisions to recommend them more movies in the future. My question is: Are there any methods that can tell us whether a user is uninterested in a given attribute? For example, if a user is never considering duration when saying yes or no.

$\endgroup$

1 Answer 1

2
$\begingroup$

As a simple measure, you could simply take the point biserial correlation between duration and rating for a given user. If they aren't correlated (positively or negatively), this variable is likely not important to that user.

Another way to determine the impact of a variable is by training another model excluding that variable and determining how that affects the quality of the predictions.

$\endgroup$
3
  • 1
    $\begingroup$ Hello, first of all, thank you very much for your answer. I see you two major problems: a) if the user is saying yes or not (boolean values) and the duration is a number. How do you compute the correlation between a vector of boolean values and a vector of numbers? b) Training another model excluding the variable has a lot of sense, but we do not know the attribute, and even we do not know if there are two or three non-interesting attributes at the same time, so we should repeat this process many times including all possible combinations. $\endgroup$
    – Jorgemar
    Commented Oct 23, 2015 at 11:00
  • 1
    $\begingroup$ a) If you believe the dependent variable is normally distributed, a t-test would be appropriate. I'm also editing my post to rephrase the suggested measure of correlation to the point biserial correlation, which is a special form of the Pearson Correlation. $\endgroup$
    – jamesmf
    Commented Oct 23, 2015 at 14:43
  • 1
    $\begingroup$ b) you're right that this is a computationally expensive method. Fortunately if your model is robust, if you remove one variable and it has no measurable effect on performance, you probably don't need to try it in future combinations. For example if you remove duration and get no change, you can conclude that either it contributed no signal, or that signal is entirely captured by the remaining variables. $\endgroup$
    – jamesmf
    Commented Oct 23, 2015 at 14:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.