This is a simple Movie Recommender System that suggests similar movies based on a user’s selection. It uses content-based filtering with cosine similarity over vectorized movie metadata (like genres, keywords, and descriptions). A basic web interface was created using Flask for user interaction.
- Source: Movie metadata from TMDB (via Kaggle)
- The data was cleaned and preprocessed using Pandas.
- Features used for similarity:
genreskeywordsoverview(description)
pandas,numpy– data manipulation and wranglingscikit-learn– cosine similarity & vectorizationnltk– text preprocessingflask– backend for serving recommendationspickle– for saving/loading the similarity matrix
- Extracted important text-based features.
- Combined them into a single string representation for each movie.
- Vectorized text using TfidfVectorizer.
- Computed cosine similarity between all movies.
- Given a movie, returned the top 5 most similar ones.
- Created a simple Flask app (
app.py) - Users can:
- Select a movie
- View recommended movies instantly
- Minimalistic and easy-to-use interface
The similarity.pkl file is too large to include in the repo.
To run the recommender system locally, download the file using:
- pip install gdown
- python download_model.py- Ali Shayan – GitHub Profile
Feel free to fork the repo, suggest improvements, or report issues!