Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ravindramohith/movie_recommender_system
A movie recommendation system utilizing a Graph Neural Network (GNN) framework implemented in Jupyter Notebook
https://github.com/ravindramohith/movie_recommender_system
bipartite-graphs graph graph-neural-networks lightgcn pygeometric pytorch self-supervised-learning supervised-learning
Last synced: 15 days ago
JSON representation
A movie recommendation system utilizing a Graph Neural Network (GNN) framework implemented in Jupyter Notebook
- Host: GitHub
- URL: https://github.com/ravindramohith/movie_recommender_system
- Owner: ravindramohith
- License: apache-2.0
- Created: 2024-08-12T22:16:56.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-12-12T12:33:10.000Z (about 1 month ago)
- Last Synced: 2024-12-12T13:34:52.202Z (about 1 month ago)
- Topics: bipartite-graphs, graph, graph-neural-networks, lightgcn, pygeometric, pytorch, self-supervised-learning, supervised-learning
- Language: Jupyter Notebook
- Homepage:
- Size: 119 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Movie Recommender System
This repository contains the implementation of an advanced movie recommender system using LightGCN in PyTorch Geometric (PyG). The system integrates message passing and embeddings from a bipartite graph of users and movies, utilizing both supervised and self-supervised learning techniques to enhance recommendation quality.
## Features
- **Graph Neural Networks**: Built using LightGCN in PyG, integrating message passing and embeddings.
- **Learning Methods**: Utilizes both supervised and self-supervised learning to improve recommendation quality.
- **Loss Functions**: Trained using BPR (Bayesian Personalized Ranking) and RMSE (Root Mean Squared Error) loss functions.
- **Optimizer**: Uses Adam optimizer with learning rate decay for optimized convergence.
- **Data Processing**: Efficiently processes and evaluates graph data with sparse matrices and edge indices.
- **Evaluation Metrics**: Uses recall, precision, and NDCG (Normalized Discounted Cumulative Gain) metrics for evaluation.## Installation
1. Clone the repository:
```sh
git clone https://github.com/ravindramohith/movie_recommender_system.git
```
2. Navigate to the project directory:
```sh
cd movie_recommender_system
```## Usage
- **Supervised Learning**:
- The supervised learning implementation can be found in `recommender-system-using-supervised-gnn_modified.ipynb`.
- Follow the notebook to train and evaluate the supervised recommender system.- **Self-Supervised Learning**:
- The self-supervised learning implementation can be found in `recommender-system-using-self-supervised-gnn_modified.ipynb`.
- Follow the notebook to train and evaluate the self-supervised recommender system.## Evaluation
The model performance is evaluated using the following metrics:
- **Recall**: Measures the ability of the recommender system to capture relevant items.
- **Precision**: Measures the accuracy of the recommended items.
- **NDCG**: Measures the ranking quality of the recommendations.## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## Contact
For any questions or suggestions, please contact me through [[email protected]](https://github.com/ravindramohith).