I have a problem. I have a data set with some users and their ratings in several movies. The movies are separated into 19 genres.

I want to cluster the users by their preferences(ratings in the movies). The problem is, that I want to find a $threshold ( θ )$ to do the clustering, but I do not know how to do this, because the data are discrete and I cannot use the statistics methods that I know. The threshold is the maximum distance that two users can have to be in the same cluster, like 2 users that likes the same genre movies or have little differences in their tastes.

I've tried to find a threshold using simple statistics. For example, for a user sum all of his ratings in a genre and divide the result via the number of ratings and find some means in some genres, but I didn't got an answer.

Note: I must use BSAS

  • $\begingroup$ It is not clear from your question what threshold means in this context. Please change your question to give more context. $\endgroup$
    – hssay
    Commented Dec 22, 2017 at 9:28
  • $\begingroup$ Maybe you should consider usual clustering technics such as agglomerative clustering. With these approaches, you let the algorithm search itself for hidden structure. You then get a dendogramm where you can choose the aggregation threshold or the number of clusters. Here is a summary of this approach : sthda.com/english/articles/… Also, variables you've created with sum of ratings per genre seem good features for a custering. $\endgroup$
    – Theudbald
    Commented Dec 25, 2017 at 8:56

1 Answer 1


Somehow you have to come up with some sort of numerical classification system for your movie genres.
I would start by creating a relationship tree between genres. For example action movies and then action movies with comedy and then action movies with comedy with animation etc.

You could develop a whole Forest of trees that relate movie genres to one another. You can then test the genres paths of individuals to compare.


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.