Skip to content

oyounis19/NCF-Recommender-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NCF Recommender System with PyTorch: A Deep Dive

Welcome to the NCF Recommender System with PyTorch! In this project, An end-to-end Recommender System using an adjusted version of Neural Collaborative Filtering (NCF) with PyTorch. the model is trained on the MovieLens-1M dataset 🎥, served using FastAPI, hosted on Heroku 🚀.

🌟 Try it out!

📓 Notebook on Kaggle

🌐 Overview

Adjusted NCF

  • Our adjusted architecture of NCF enables the input of the user/item features besides the user/item IDs.

  • A recommender system is not just a ranking model, but a pipeline: Items Retrieval, Filtering, Ranking, and Ordering. (Detailed explanation in the notebook)

📚 Project Structure

  • app/:

    • main.py: The FastAPI app to serve the model.
    • model/:
      • main.ipynb: The main notebook containing the entire project.
      • utils/:
        • model.py: The NCF model.
        • utils.py: Utility functions for data processing.
        • requests.py: Request class to make API requests.
      • data/: Processed data for inference.
      • weights/: Pretrained models weights for inference.

References

💡 Contributing

Contributions are welcome! If you find a typo, want to add more content, or improve something, feel free to open an issue or submit a pull request.

Happy learning! 🚀