Logo Lanfrica

rexsimiloluwah/movie_recsys_project

Type de record:

project
Créateur:
rex
Hôte:
Implementation of a movie recommendation system for the Applied ML at Scale course taught by Prof. Ulrich Paquet at AIMS South Africa # Collaborative Filtering-based Recommendation System using the MovieLens 32M Dataset This project implements high-performance Matrix Factorization (MF) algorithms (bias-only baseline, standard MF using user and item latent vectors, hybrid MF incorporating genre-based feature priors) using **Alternating Least Squares (ALS)** for a collaborative filtering-based movie recommendation system. It leverages **Numba JIT compilation** and **Sparse Matrices** to scale and optimize training on the MovieLens 32M dataset. ## 🔗 Links - - **📄 View Project Report** ## Tools Used - **uv** - For managing dependencies and virtual environment in Python. - **Numba**: JIT compiler for accelerating ALS training loops. - **OmegaConf**: Experiment configuration management. ## 📂 Project Structure ```text . ├── configs/ # OmegaConf configuration files ├── data/ # Raw MovieLens 32M dataset ├── figures/ # Generated plots ├── logs/ # Execution logs ├── notebooks/ # Jupyter notebooks for experimentation │ ├── eda.ipynb # Exploratory Data Analysis │ ├── experiments.ipynb # Unoptimized models │ └── experiments_optimized.ipynb # Optimized models (using Numba) ├── report/ # LaTeX report and PDF ├── results/ # Serialized model weights (.npz) and metrics ├── scripts/ # CLI scripts for downloading data, etc. ├── src/ # Source code package │ ├── data/ # Dataset loading, indexing, splitting │ ├── models/ # ALS models implementations │ ├── inference/ # Inference helpers │ └── utils/ # Logging, plotting, and serialization helpers └── pyproject.toml # Project dependencies ``` ## Key Files & Modules - `notebooks/experiments_optimized.ipynb`: The primary entry point for experiments. Runs full-scale training, hyperparameter tuning, and gen …