I’m going to build a hybrid movie recommender on Spark. It’s going to combine two signals:
Pure ALS only knows how users rated movies. It has no idea what a movie is about. The hybrid adds that missing information and blends the two scores into one recommendation.
MovieLens 10M has about 10 million ratings, 70,000 users, 10,000 movies. This clears the size requirement (1M+ ratings) on its own.
I used MovieLens for some of the other projets, but with this one the unique element is the hybrid layer. I pull in two files I did not use in earlier projects:
movies.dat — genre labels for every movietags.dat — free-text keywords users attached to
moviesThese turn each movie into a content profile.
Project 5 ran ALS and stopped. This project adds a content model on top, blends the two, and tests whether the blend beats ALS alone. That comparison is the point of the project.
ALS is not as good working with films with very few ratings. But those same movies still have genres and tags. The content model works fine there.
So my hypothesis is: the hybrid will beat pure ALS most on movies with few ratings.
final = w * ALS + (1 - w) * content. Tune the
weight w.If the hybrid wins overall, and wins by more on cold-start movies, the project worked.
```