An open API service indexing awesome lists of open source software.

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.

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)