Skip to content

Companion GitHub repository for a blog series on recommender systems published on my Medium

License

Notifications You must be signed in to change notification settings

eliasah/medium-recsys-series

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub stars GitHub forks License: MIT Made with ❤️ by eliasah

Recommender Systems Series

This repository accompanies a comprehensive blog series on recommender systems published on Medium. The series progresses from theoretical foundations to practical implementations, providing both conceptual understanding and hands-on coding examples.

Series Structure & Content

Part 1: Theory & Foundations

  1. Introduction to Recommender Systems: A Personalized Experience
    • Foundational concepts and terminology
    • Overview of recommender system types
    • Real-world applications and use cases
    • Business impact and considerations
    • No companion notebook (theoretical focus)

Part 2: Basic Implementation

  1. Delving Deeper into Recommender Systems: From Basics to State-of-the-Art
    • Evolution of recommender systems
    • Implementation of three fundamental approaches:
      • User-Based Collaborative Filtering
      • Item-Based Collaborative Filtering
      • Matrix Factorization using SVD
    • 📓 2.Delving Deeper into Recommender Systems.ipynb
      • Working implementation using MovieLens 100K dataset
      • Practical examples of each approach

Part 3: Advanced Techniques

  1. Deep Dive into Matrix Factorization for Recommender Systems

  2. Introduction to Recommender System Evaluation Beyond Accuracy (Coming Soon)

Repository Structure

.
├── LICENSE
├── README.md
├── data
│   └── ml-100k                  # MovieLens 100K dataset
├── notebooks
│   ├── 2.Delving Deeper into Recommender Systems.ipynb
│   ├── 3.1.Understanding Matrix Factorization Step by Step.ipynb
│   └── 3.2.Deep Dive into Matrix Factorization for Recommender Systems.ipynb
└── requirements.txt

Data Sources

The repository utilizes two types of data:

  1. MovieLens 100K Dataset

    • Located in data/ml-100k/
    • Used in Part 2 for demonstrating collaborative filtering approaches
    • Contains user-movie ratings and movie metadata
  2. Synthetic Data

    • Generated within the Part 3 notebooks
    • Used for demonstrating matrix factorization concepts
    • Provides controlled examples for learning

Installation

conda create -n medium-recsys-series python=3.10 jupyterlab
conda activate medium-recsys-series
pip install -r requirements.txt

Getting Started

  1. Start with the Part 1 blog post for theoretical foundations
  2. Move to Part 2 for basic implementations:
    • Read the blog post
    • Follow along with the notebook using the MovieLens dataset
  3. Progress to Part 3 for advanced techniques:
    • Start with notebook 3.1 for core implementation
    • Move to 3.2 for comprehensive examples

Contributing

If you find any issues with the code examples or have suggestions for improvement, please feel free to open an issue or submit a pull request. Contributions are always welcome!

License

This project is licensed under the MIT License. See the LICENSE file for more information.

Contact

For any questions or inquiries, please contact me via:

Happy exploring the world of recommender systems! 🚀

About

Companion GitHub repository for a blog series on recommender systems published on my Medium

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published