/movie-recommendation

The goal of this project is to create a system that recommends movies to users.

Primary LanguageJupyter NotebookOtherNOASSERTION

Movie Recommendation System

image

Structure of this Repository

  • Jupyter Noteboook file

  • Presentation

  • app.py file

  • Dumped file picke file

  • Data folder

  • README.md

  • License.md

  • To run the app, install streamlit and run the command: streamlit run app.py

Introduction

The Movie Recommendation System is a machine learning project designed to suggest movies to users based on their preferences and past interactions. This system leverages collaborative filtering and content-based filtering techniques to provide personalized movie recommendations.

Data

The dataset used for this project includes user ratings for movies. It consists of the following files:

  • ratings.csv: Contains user ratings for movies.
  • movies.csv: Contains movie metadata such as title, genres, and release date.
  • links.csv
  • tags.csv

Model

The recommendation system employs collaborative filtering (both user-based and item-based) and content-based filtering methods. It uses matrix factorization techniques for collaborative filtering and cosine similarity for content-based filtering.

Evaluation

The system is evaluated using metrics such as Root Mean Squared Error (RMSE) for rating predictions.

Deployement

Deployement was done using streamlit.

Future Work

  • Advanced Modeling Techniques: Explore deep learning-based recommendation systems and reinforcement learning approaches.
  • Real-Time Recommendations: Incorporate streaming data for dynamic recommendations.
  • Enhanced User Profiles: Analyze additional data sources to build more detailed user profiles.
  • Cross-Platform Integration: Expand the system to work seamlessly across multiple platforms.
  • A/B Testing and Optimization: Conduct A/B testing to compare different strategies and optimize algorithms.

Contributors

  • Sheila Mulwa
  • Nashon Okumu
  • Samuel Gichuru