https://github.com/dchobarkar/movie-recommender-python
Hands-on Movie Recommender in Python using MovieLens dataset.
https://github.com/dchobarkar/movie-recommender-python
collaborative-filtering flask machine-learning movie-recommender python recommender-system render-deployment surprise
Last synced: 8 months ago
JSON representation
Hands-on Movie Recommender in Python using MovieLens dataset.
- Host: GitHub
- URL: https://github.com/dchobarkar/movie-recommender-python
- Owner: dchobarkar
- License: mit
- Created: 2025-04-11T05:42:08.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-04-14T09:28:17.000Z (9 months ago)
- Last Synced: 2025-05-07T13:06:07.826Z (8 months ago)
- Topics: collaborative-filtering, flask, machine-learning, movie-recommender, python, recommender-system, render-deployment, surprise
- Language: Python
- Homepage: https://movie-recommender-python-ehrd.onrender.com/
- Size: 844 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ฌ Intelligent Movie Recommender System
A personalized movie recommendation engine powered by collaborative filtering using **SVD** (via `surprise` library) and a lightweight Flask frontend. Built as a hands-on AI project and synced with the blog:
๐ [Read the full article](https://dchobarkar.github.io/2024/09/21/hands-on-build-a-movie-recommender-in-python.html)
## ๐ Live Demo
๐ [Try it on Render](https://movie-recommender-python-ehrd.onrender.com)
> Enter a `User ID` (like `1`, `10`, or `20`) and get a list of top-rated movie recommendations.
## ๐ฆ Features
- ๐ Collaborative filtering with matrix factorization (SVD)
- ๐ฏ Predicts top-N movies per user with scores
- ๐ง Smart content-based fallback for title mapping
- ๐ Deployed on Render with live web interface
- ๐งช Fully blog-synced โ write as you build!
## ๐ ๏ธ Tech Stack
- Python 3.11
- Flask
- scikit-surprise
- pandas / NumPy / Matplotlib
- HTML / CSS (Jinja templates)
- Render (cloud deployment)
## ๐ Project Structure
```
movie-recommender-python/
โโโ data/ # ratings.csv, movies.csv
โโโ notebooks/ # EDA and preprocessing notebooks
โโโ src/ # Modular Python scripts
โโโ web/ # Flask app + templates
โ โโโ app.py
โ โโโ templates/
โโโ requirements.txt
โโโ README.md
```
## ๐งช Sample User IDs
Try the following user IDs to explore recommendations:
- `1`
- `10`
- `20`
- `50`
- `75`
## โ๏ธ How to Run
### 1. Install dependencies
```bash
pip install -r requirements.txt
```
### 2. Start the Flask app
```bash
cd web
python app.py
```
Then open your browser at [http://127.0.0.1:5000](http://127.0.0.1:5000)
## ๐งช Try the API
```bash
curl http://127.0.0.1:5000/api/recommend?userId=1
```
## ๐ Dataset Source
MovieLens 100K
[https://grouplens.org/datasets/movielens/100k](https://grouplens.org/datasets/movielens/100k)
## ๐ License
MIT License
Made with โค๏ธ by [Darshan Jitendra Chobarkar](https://darshanwebdev.com)
## ๐ก Author
Built by [Darshan Chobarkar](https://github.com/dchobarkar)
Inspired by [this blog post](https://dchobarkar.github.io/2024/09/21/hands-on-build-a-movie-recommender-in-python.html)