This repository contains two distinct recommender system projects:
- Recommender-Systems — a simple movie recommender based on user–movie rating matrices.
- Movie Recommender Website — a content-based movie recommendation web app built using Streamlit and Python.
A foundational recommender system implementing collaborative filtering using a movie–user ratings matrix.
It predicts user preferences based on similarities between items (movies) and/or users.
- Input: Movie–User ratings matrix (e.g.,
ratings.csvfrom MovieLens dataset). - Techniques:
- Item-based collaborative filtering using cosine similarity.
- Matrix factorization (SVD-based) for dimensionality reduction.
- Output: Top‑N movie recommendations per user.
- Preprocess the movie–user rating dataset.
- Compute a similarity matrix between movies or users.
- For a given user, find the top‑rated movies.
- Recommend similar movies that the user hasn’t seen yet.
- Run
recommender_system_latent_factor.ipynbusing Jupyter Notebook.
A Streamlit‑powered web app that recommends similar movies to any movie the user selects. It uses a content‑based filtering approach derived from text tag similarity.
- Frontend: Streamlit (run from PyCharm)
- Backend: Python
- Frontend: Streamlit (runs locally from PyCharm or terminal)
- Backend: Python
- ML Libraries: scikit‑learn, pandas, numpy, requests
- Dataset: TMDB Movie Metadata
- Combine key text features (genres, cast, director, etc.) into a single tags column.
- Vectorize tags using CountVectorizer (max features = 5000).
- Compute cosine similarity between all movie vectors.
- Return top‑N most similar movies to the selected one.
https://www.kaggle.com/datasets/tmdb/tmdb-movie-metadata
- Run
movie_recommender_system.ipynbusing Jupyter Notebook. - 3 new files should be added into the folder:
movies.pkl,movie_dict.pkl,similarity.pkl. - Add these files into the movie-rec folder.
- Go to https://www.themoviedb.org/ and sign up for a new account.
- Go to settings -> API -> Generate API and generate a new API key.
- Open the
movie-recfolder in PyCharm. - In the
movie-recfolder:- Copy the APIv3 key and paste it in a .env file in the
movie-recfolder. - The .env file should look like this:
API=<api_key>- Open the terminal in PyCharm.
- Run
$pip install -r requirements.txt - Run
streamlit run app.py
- Copy the APIv3 key and paste it in a .env file in the
Developed by Shreya Bollimuntha




