Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/bniladridas/movieml
- Owner: bniladridas
- License: mit
- Created: 2024-05-25T18:59:04.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-09-09T09:18:05.000Z (4 months ago)
- Last Synced: 2024-10-20T05:40:51.825Z (2 months ago)
- Topics: machine-learning, numpy, pandas, recommender-system
- Language: Jupyter Notebook
- Homepage:
- Size: 277 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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! π₯πΏ