End-to-end movie/show recommendation system with collaborative filtering and neural ranking for streaming platforms.
- SVD matrix factorization on MovieLens 1M for collaborative filtering baseline
- Two-tower neural recommender: separate user and item encoder towers
- Real-time ranking with learned relevance scores
- FastAPI serving:
/recommend/{user_id},/similar/{movie_id} - Evaluation: RMSE, HitRate@K, NDCG@K, Diversity
| Model | RMSE | HitRate@10 | NDCG@10 |
|---|---|---|---|
| SVD | 0.873 | 0.71 | 0.52 |
| Two-Tower | 0.831 | 0.78 | 0.59 |
Python | PyTorch | scikit-learn | FastAPI | Pandas | NumPy | FAISS
git clone https://github.com/neuralasmi/FlixRecs
cd FlixRecs
pip install -r requirements.txt
python train.py --model two_tower --epochs 20
python -m uvicorn app.main:app --port 8000
curl http://localhost:8000/recommend/123