Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/bniladridas/movieml

A movie recommendation system that suggests films.
https://github.com/bniladridas/movieml

machine-learning numpy pandas recommender-system

Last synced: about 1 month ago
JSON representation

A movie recommendation system that suggests films.

Awesome Lists containing this project

README

        

# 🎬 Hybrid Movie Recommendation System: The Ultimate Personalized Movie Experience 🎬

A cutting-edge movie recommendation system that masterfully blends **collaborative filtering** (SVD) and **content-based filtering** (TF-IDF) to deliver tailor-made recommendations. It leverages the power of user preferences and movie descriptions to offer the best of both worlds.

## 🌟 Key Features

- πŸ”₯ **Collaborative Filtering** using Singular Value Decomposition (SVD) to analyze user behavior and preferences.
- 🌐 **Content-Based Filtering** utilizing TF-IDF vectorization and cosine similarity to recommend movies based on content.
- 🧠 **Hybrid Recommendations** combining the strength of collaborative and content-based approaches for unparalleled suggestions.
- πŸ’‘ **Intuitive Outputs** with real user names and movie titles, delivering recommendations that feel personal and seamless.

## πŸ› οΈ Technologies at Play

Harnessing the best in data science and machine learning to deliver premium recommendations:

![Python](https://img.shields.io/badge/-Python-3776AB?logo=python&logoColor=white) ![Pandas](https://img.shields.io/badge/-Pandas-150458?logo=pandas&logoColor=white) ![NumPy](https://img.shields.io/badge/-NumPy-013243?logo=numpy&logoColor=white) ![scikit-learn](https://img.shields.io/badge/-scikit--learn-F7931E?logo=scikit-learn&logoColor=white) ![scikit-surprise](https://img.shields.io/badge/-scikit--surprise-ff0?logo=python&logoColor=white) ![Jupyter](https://img.shields.io/badge/-Jupyter-F37626?logo=jupyter&logoColor=white) ![VSCode](https://img.shields.io/badge/-VSCode-007ACC?logo=visual-studio-code&logoColor=white)

## πŸš€ Setup & Installation

Follow these steps to get your own hybrid recommendation system up and running:

1. **Clone the Repository**:

```bash
git clone https://github.com/niladrridas/movieml.git
cd movieml
```

2. **Create a Virtual Environment** *(optional but recommended)*:

```bash
python -m venv venv
source venv/bin/activate # Windows: `venv\Scripts\activate`
```

3. **Install Dependencies**:

```bash
pip install -r requirements.txt
```

## πŸ“š How to Use

1. **Launch Jupyter Notebook**:

```bash
jupyter notebook
```

2. **Open the Main Notebook**:
- Navigate to `main_py.ipynb` and start exploring.

3. **Step-by-Step Guide**:
- Load and preprocess the data.
- Train the collaborative filtering model using SVD.
- Generate recommendations using the content-based approach.
- Combine both for a powerful hybrid system.
- Evaluate and fine-tune the model for best results.

## πŸ“ Project Structure

- `main_py.ipynb`: Core notebook with all the logic and explanations.
- `data/`: Directory for datasets (users, movies, ratings).
- `requirements.txt`: List of all required dependencies.

## 🌟 Stunning Example Outputs

1. **Data Loading & Preprocessing**:
![Users Data](assets/images/images/1.png)
![Movies Data](assets/images/images/2.png)
![Ratings Data](assets/images/images/3.png)

2. **Collaborative Filtering (SVD)**:
![Collaborative Filtering](assets/images/images/!1.png)

3. **Content-Based Filtering**:
![Content-Based Filtering](assets/images/images/!2.png)

4. **Hybrid Recommendations**:
![Hybrid Recommendation](assets/images/images/!3.png)

## 🀝 Contributing

We welcome all contributions! Whether it’s fixing bugs, adding features, or improving documentation, feel free to open an issue or submit a pull request. Let’s build something great together!

## πŸ“œ License

This project is licensed under the MIT License. For more information, please refer to the [LICENSE](https://github.com/niladrridas/movieml/blob/main/LICENSE) file.

## 🌐 Pushing the Repository to GitHub via VSCode

Easily manage and push your project using VSCode by following these steps:

1. **Initialize Git**:
- Open VSCode terminal and run:
```bash
git init
```

2. **Add Files**:
```bash
git add .
```

3. **Commit Changes**:
```bash
git commit -m "Initial commit"
```

4. **Create a GitHub Repo**:
- On GitHub, create a new repository.

5. **Link the Remote**:
```bash
git remote add origin https://github.com/niladrridas/movieml.git
```

6. **Push to GitHub**:
```bash
git push -u origin master
```

---

Unlock the power of personalized movie recommendations with this hybrid system. Dive into the future of entertainment and enjoy recommendations tailored specifically to your taste! πŸŽ₯🍿