Recommender Engines and GraphLab

As a continuation of the past few weeks I am still working hard on building a few different types of recommender engines to recommend anime. After reading blog posts, tutorials, and watching YouTube videos I came across a blog talking about GraphLab. Ecited I quickly installed it and it has made my life increasingly easier.
GraphLab a.k.a. GraphLab Create is a machine learning modeling tool and I could go on and on about everything you can do with it, but that would take a good bit to type out. I will, however, show you how I started using it.
To test out GraphLab I did a quick and easy popularity recommender since if this didn’t work I didn’t want to waste precious time moving forward. The code to do this was insanely simple and the results were produced very quickly:



Now being a popularity recommender all the recommendation should be the same for all users, so it is quickly testable with a quick glance. I decided to run 10 recommendations for the first 5 users to take a look and at this point most of you will probably point out that starting with user 3 the last anime is different from the first 2 users and user number 5 is completely different. Looking into it I found out the reason was that user 3 already viewed and rated Fullmetal Alchemist: Brotherhood, so the system wasn’t going to waste a recommendation. User 5 had also reviewed many of the other anime making the recommendations different. I was amazed that such a simple line of code did all this. Yeah it’s amazing!
Next I ran a collaborative filter first using Pearson simularity and then Cosine simularity. You can also use Jaccard, however since we have ratings from 1–10 this wouldn’t work that well. The results are as followed:




As you can see the recommendations are completely different. Next I will be running some code that will let me compare the accuracy of each of the models against each other helping me choose which one I should move forward with. I can’t wait!