I have millions of user ratings on about 2k products. I want to use Machine Learning to analyse these ratings and recommend products to users based on other users ratings of the same and different products.

i.e. user A likes 1,2 & 3, user B likes 1&2 so probably likes 3 based on A's ratings.

Is this possible to do through AWS ML? I'm looking at AWS ML as I'm a developer, not a data scientist and looking to keep this simple.

I've been playing with this all day and think I have figured it out, but just looking for some further advise / guidance.

Based on my experimenting so far, the following format of dataset is what AWS needs

CustomerID, Prod1Rating, Prod2Rating, Prod3Rating,.....

And then I would create a model for each product with the target on each being the row containing that products ratings. To make a recommendations engine from this I then just need to loop through every product for a user and ask each model the score.


1 Answer 1


This is a classical example of collaborative filtering, in particular you're talking about user-based collaborative filtering.

I don't think Amazon ML supports collaborative filtering (https://forums.aws.amazon.com/thread.jspa?messageID=712158), but you can do it in R and run your R code on the cloud.

It's easy in R, take a look at the recommenderlab package. The vignette has an example with the MovieLens movie rating data set.

You may also use the Microsoft Azure ML framework as it has better support for recommender systems. Google "Azure recommender systems" will give you useful links.


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.