This project implements a movie recommender system using collaborative filtering techniques. It includes both memory-based and model-based approaches, namely user-based k-Nearest Neighbors (k-NN) and Matrix Factorization using Stochastic Gradient Descent (SGD). The system reads user rating data from CSV files, predicts ratings, and generates personalized top-N recommendations.
- π₯ Load user-item rating data from CSV files
- π Predict unseen ratings using:
- User-user collaborative filtering (k-NN + cosine similarity)
- Matrix factorization (latent factor model)
- π§ Generate personalized top-N recommendations
- π Evaluate model accuracy using RMSE
- π§± Modular and extendable Python codebase
The system expects a CSV file with the following structure:
| user_id | item_id | rating | timestamp |
|---|---|---|---|
| 1 | 101 | 4.0 | 874965758 |
Example datasets: MovieLens 100K, custom CSV files, etc.
The system uses Root Mean Squared Error (RMSE) to evaluate the prediction performance on a test/validation split.
- Clone the repository:
git clone https://github.com/your-username/recommender-system.git
cd recommender-system- Save this as your
README.mdin your root folder. - Replace any placeholder GitHub link or path with your actual usernames and structure if needed.