Git Product home page Git Product logo

hybrid-movie-recommender-system's Introduction

Hybrid Movie Recommender System

This is a hybrid recommender system that uses a hybrid of model-based recommender based on clustering and a collaborative filtering approach based on Pearson correlation between different users. The hybrid is created as displayed in the image below.

Architecture

The subset of movie lens dataset that was taken had good correlation between co-rated users. Thus the model was used for predicting ratings for new users. The scoring from each of the recommender is mutually exclusive therefore, it doesn't require special aggregation scheme.

The ratings for each user are taken and ranked. The movies with ratings greater 4 & 5 will be provided as output.

Collaborative filtering

The collaborative filtering module was constructed with a basic Pearson correlation for identifying neighborhood of similar users and a weighted scheme to calculate the ratings. Pearson Correlation Predicted Rating

The definitions are taken from the book Mining Massive Datasets by Jure Leskovec, Anand Rajaraman, Jeff Ullman (reference here).

The neighborhood users set U are chosen based on a hyper-parameter, number of neighbors N, which is determined using cross-validation (10 folds). Experiments with 25-50 neighbors gave good results.

Clustering of Movies

A simple hierarchical agglomerative clustering method with average linkage approach was used to cluster the movies. Various features were tried and identified that Genre of the movie provided selected based on the given dataset. Silhouette coefficient was used to measure the quality of clusters. Used the Scipy's implementation of clustering.

The threshold is chosen based on cross validation where the objective was to identify the maximum silhouette coefficient.

Experiments

A separate test dataset was constructed with more new users (specifically to test the model) and ensuring the distribution was consistent with the training.

As a baseline, the approach is compared with ALS method provided by spark. The approach is also comapred with a simple User CF based approach where the cold starts are handled by choosing a rating from a Gaussian distribution of ratings with mean as mean and standard deviation calculated from the entire training dataset. Root mean square error measure is used to determine the quality of recommender system. The results are given below.

ALS => Rank = 3, RMSE = 1.074
Simple User CF  - without model => Neighbors = 25, RMSE = 0.9750
Hybrid Recommender => Neighbors = 25, RMSE = 0.9483
Hybrid Recommender => Neighbors = 30, RMSE = 0.9341

Remarks

The model based hybrid approach works well and performs consistently well with in terms of complexity (time taken to run) and the RMSE measure.

hybrid-movie-recommender-system's People

Contributors

srirambaskaran avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.