dashnak90 / Movie_recommender

Movie-Recommender system using Non-negative matrix factorization (NMF) and Neighborhood-Based Collaborative Filtering methods.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Recommender systems

This project was completed in Weeks 10-11 of the Data Science bootcamp at SPICED Academy.

In this project I built Movie-Recommender using memory/neighborhood-based and model-based methods.
Using Non-negative matrix factorization (NMF) algorithm, I decomposed the data into two non-negative matrices P(user-matrix) and Q(movie matrix) with an inner dimension of 20(number of components) to find latent features. Recommendations for a new user were derived by calculating the dot product of new user's ratings vector and Q matrix, that represents the strength of the associations between movies and the features. 5 random unseen movies from the highest rated movies in the last 10 years(grouped by year) and 5 unseen highest rated of all time movies are given as recommendations.
In Neighborhood-Based Collaborative Filtering, recommendations for a new user were derived by calculating cosine similarity between all users (user-based filtering), selecting users that showed similar activity and recommending 10 movies that they have liked and that the new user hasn’t seen yet.
Finally, I built a Flask recommender app to visualize the results.

About

Movie-Recommender system using Non-negative matrix factorization (NMF) and Neighborhood-Based Collaborative Filtering methods.

License:MIT License


Languages

Language:Jupyter Notebook 87.1%Language:HTML 7.7%Language:Python 3.9%Language:CSS 1.3%