Making machine learning predictions for individual users Currently a student, I am fairly new to machine learning. I am developing a classification model in python which has ratings history of a 100 users for a specific movie, I have a total of 20,000 rows.
I have split my train and test dataset and have build a few models that achieve decent accuracy.
My problem is: I want to train and test the data for individual customers using their customer_id. For example, while making predictions my model should only train on the rating history of a single user and make predictions based on training on the same data. The user_ids are randomly generated 15-character long including both numeric and text. I tried including the user_id as inputs during training but the model would'nt accept that.
Please help :)
 A: To build on what @SmallChess asked, it seems like you could create a different model for each person. But I question your statement that "my model should only train on the rating history of a single user." No one human being is that unique; I bet you would get much more accurate predictions using the entirety of the data, because information about others' behavior would help you refine what any given person is going to do.
A: From your description, I think the problem you're trying to solve is like this (feel free to correct me if I'm wrong):
You have a dataset of 20000 movies, each with 100 user ratings. Now you want to study a particular user, let's name him/her A, with his/her historical ratings and the whole dataset, in order to 'know his/her taste'. Then given any movie in the 20000 list that the user A has never seen/rated, your model will predict a rating or classify it's good or bad.
If this is the case, then 
1) Without further info of the movies, such as type, year, director, actor, etc. you'll never have a correct prediction studying on user A's history ONLY.
2) You'll need to one-hot encode your userids so that you can use them as input.
3) What you'll do is something like what Netflix is doing: discover similarities in movies. E.g. if 80% of ppl who rated movie A high also gives a high rating to movie B, then when user A gives same high rate to movie A, he/she should like movie B as well. This may not work in a small dataset since there're so many different kinds of people, while for large datasets, this will give you a good recommendation system since people do share a lot of things in common.
