This project implements a modular pipeline for building, evaluating, and ensembling recommendation models using PyTorch and geometric approaches. Note that the core logic is now fully contained in the provided Jupyter notebook (final_combined.ipynb), as requireed by the guidelines for CIL-FS2025.
- Python 3.7 or higher
- A virtual environment tool (e.g.,
uv,venv, orconda)
- Clone the repository:
git clone <repository_url> cd <repository_directory>
- Create and activate a virtual environment (using
uv):(Alternatively, useuv create env uv activate env # on Linux/MacOS and Windowsvenvorcondaif preferred.) - Install dependencies:
pip install pandas numpy matplotlib torch torch-geometric torch-sparse scikit-learn
- Launch Jupyter Notebook:
jupyter notebook
- Open
final_combined.ipynband run all cells. The code should execute successfully once all dependencies are installed.
In this notebook, we apply the following methods:
- Optimal Rank-(k) SVD
- Embedding Dot-Product Model
- Iterative SVD
- SVD++
- NeuMF
- GraphNeuMF
- DMF
- Ensemble strategies (simple average, weighted average, top-(k) weighted, deep stacking)
- Ensure you have sufficient memory for data loading and model training.
- For GPU acceleration, verify that your PyTorch installation includes CUDA support.