This project was developed as part of the MIT Professional Education โ Applied AI & Data Science Program, specifically within the Elective Project: Recommendation Systems.
The objective is to design, implement, and evaluate multiple recommendation system approaches using an Amazon product ratings dataset.
To build a recommendation system capable of suggesting relevant products while addressing:
- Data sparsity
- Popularity bias
- Cold-start problem
| Feature | Description |
|---|---|
user_id |
Unique user identifier |
prod_id |
Unique product identifier |
rating |
Rating (1โ5) |
timestamp |
Not used |
๐ Dataset:
๐ https://drive.google.com/file/d/1XahZcR287ke7j48I7-oj0KzmmwSSvA3Y/view
- Users โฅ 50 ratings
- Products โฅ 5 ratings
โก๏ธ Reduced sparsity and improved reliability
- Non-personalized baseline
- Cosine similarity
- Personalized
- More stable than user-user
- Handles sparsity effectively
- Best performance
| Model | RMSE | Precision | Recall | F1 |
|---|---|---|---|---|
| UU Baseline | 1.001 | 0.855 | 0.867 | 0.861 |
| UU Optimized | 0.953 | 0.847 | 0.894 | 0.870 |
| II Baseline | 0.995 | 0.851 | 0.870 | 0.860 |
| II Optimized | 0.958 | 0.839 | 0.880 | 0.859 |
| SVD Baseline | 0.888 | 0.853 | 0.880 | 0.866 |
| SVD Optimized | 0.882 | 0.860 | 0.900 | 0.879 |
- High sparsity (~99%)
- Popularity bias
- Cold-start problem
- Rank-based model provides a strong baseline
- KNN improves personalization but struggles with sparsity
- Item-item is more stable
- SVD achieves the best overall performance
Matrix factorization (SVD) provides the best balance between:
- Accuracy
- Robustness
- Scalability
- Python
- Pandas / NumPy
- Matplotlib / Seaborn
- Scikit-surprise
- End-to-end recommendation system pipeline
- Advanced EDA
- Model comparison
- Hyperparameter tuning
- Visual evaluation
Developed as part of the
MIT Professional Education โ Applied AI & Data Science Program
Educational use only





.png)




.png)

