# If I have to recommend 10 movies to the users

Let's say I have some information about a user and movie data similar to the following:

user: age, gender, height, nationality, etc
movie : actor, genre , director info
userwatch : userA watch movieA at 2009,,.......


In this case, if I would like to recommend 10 movies to each user, which machine learning technique would I use?

I was thinking about making a data frame and running RandomForestClassifier, but in this case, it's hard to recommend exactly 10 movies to each user.

I was also thinking about using K-means clustering, but when the movie number is over 200000, i'm not sure k-means is the best choice.

Any help is greatly appreciated.

• I saw a downvote, it’s not mine. It is clear that the op does not have any good idea to approach this problem. However he asked for an idea, and from my humble experience, sometimes is hard to document yourself when the topic does not have an outrageous common name. – rapaio Jul 20 '19 at 18:16

Use a recommender system.

I suggest you begin by reading an introduction to recommender systems.

What you need is a recommender system and is a large topic well documented. The Wikipedia has a nice starting point. Among many approaches, the most prominent one is collaborative filtering, which basically devise the recommended list from movies seen by other similar users. I don’t imagine how a rf can be employed. Kmeans has a good idea (use of distance for inverse of similarity) but usually there are too many clusters and is not feasible. If you don’t want to take collaborative filtering road, which I would strongly recommend, naive approaches like knn might produce reasonable results, but you need a good data structure like k-ball trees to avoid large running times.

I think you should research more about recommendation system. You can start with this video, it kind well-explained for new people in this research area