A collaborative filtering–based recommender system built using the Amazon Electronics Reviews dataset. This project implements multiple models (User-User, Item-Item, SVD) to predict user preferences and optimize personalized product recommendations.
- Source: Amazon Electronics Reviews
- Size (raw): ~7.8 million interactions
- Filtered to: Users with ≥50 ratings and items with ≥5 ratings (~65K interactions)
See data/README.md
for dataset structure and download instructions.
- Python · pandas · NumPy · matplotlib · seaborn
- Recommender Engines:
surprise
library — KNNBasic, SVD - Evaluation Metrics: Precision@k, Recall@k, F1 Score, RMSE
- Rank-Based Recommender: Top-rated popular items
- User-User Collaborative Filtering (KNN)
- Item-Item Collaborative Filtering (KNN)
- SVD Matrix Factorization
Each model is hyperparameter-tuned and evaluated on multiple metrics.
Final metrics (see results/final_metrics.txt
):
- Best Recall: SVD Tuned (Recall@10 = 0.903)
- Best RMSE: SVD Tuned (0.895)
- Best Precision: User-User CF (Precision@10 = 0.856)
Visual:
images/rating_plot.png
shows distribution of original ratings.
pip install -r requirements.txt
python src/recommender.py
See report/summary.md
for business conclusions, model insights, and strategic tradeoffs.
Eliana Gabriela Matos Polanco
- GitHub: elianagm
- Email: elianagmpolanco@gmail.com