All Projects → cemoody → Simple_mf

cemoody / Simple_mf

Licence: mit
Simple but Flexible Recommendation Engine in PyTorch

Projects that are alternatives of or similar to Simple mf

Sw machine learning
machine learning
Stars: ✭ 108 (-0.92%)
Mutual labels:  jupyter-notebook
Pydataseattle
For the pandas tutorial at PyData Seattle: https://www.youtube.com/watch?v=otCriSKVV_8
Stars: ✭ 108 (-0.92%)
Mutual labels:  jupyter-notebook
Shot Type Classifier
Detecting cinema shot types using a ResNet-50
Stars: ✭ 109 (+0%)
Mutual labels:  jupyter-notebook
Isl Python
Porting the R code in ISL to python. Labs and exercises
Stars: ✭ 108 (-0.92%)
Mutual labels:  jupyter-notebook
Sas Viya Programming
Code samples and materials to help you learn to access SAS Viya services by writing programs in Python and other open-source languages
Stars: ✭ 107 (-1.83%)
Mutual labels:  jupyter-notebook
Awesome Embedding Models
A curated list of awesome embedding models tutorials, projects and communities.
Stars: ✭ 1,486 (+1263.3%)
Mutual labels:  jupyter-notebook
Ml Demos
Python code examples for the feedly Machine Learning blog (https://blog.feedly.com/category/all/Machine-Learning/)
Stars: ✭ 108 (-0.92%)
Mutual labels:  jupyter-notebook
Solvingalmostanythingwithbert
BioBert Pytorch
Stars: ✭ 109 (+0%)
Mutual labels:  jupyter-notebook
Xgboost
Tutorial how to use xgboost
Stars: ✭ 108 (-0.92%)
Mutual labels:  jupyter-notebook
Fin Ml
This github repository contains the code to the case studies in the O'Reilly book Machine Learning and Data Science Blueprints for Finance
Stars: ✭ 107 (-1.83%)
Mutual labels:  jupyter-notebook
Psgan
Periodic Spatial Generative Adversarial Networks
Stars: ✭ 108 (-0.92%)
Mutual labels:  jupyter-notebook
Deep Ml Meetups
A central repository for all my projects
Stars: ✭ 108 (-0.92%)
Mutual labels:  jupyter-notebook
Dtreeviz
A python library for decision tree visualization and model interpretation.
Stars: ✭ 1,857 (+1603.67%)
Mutual labels:  jupyter-notebook
Lda2vec Pytorch
Topic modeling with word vectors
Stars: ✭ 108 (-0.92%)
Mutual labels:  jupyter-notebook
Clx
A collection of RAPIDS examples for security analysts, data scientists, and engineers to quickly get started applying RAPIDS and GPU acceleration to real-world cybersecurity use cases.
Stars: ✭ 108 (-0.92%)
Mutual labels:  jupyter-notebook
Py Wsi
Python package for dealing with whole slide images (.svs) for machine learning, particularly for fast prototyping. Includes patch sampling and storing using OpenSlide. Patches may be stored in LMDB, HDF5 files, or to disk. It is highly recommended to fork and download this repository so that personal customisations can be made for your work.
Stars: ✭ 107 (-1.83%)
Mutual labels:  jupyter-notebook
Dask Tutorial
Dask tutorial
Stars: ✭ 1,591 (+1359.63%)
Mutual labels:  jupyter-notebook
Isl Python
Solutions to labs and excercises from An Introduction to Statistical Learning, as Jupyter Notebooks.
Stars: ✭ 108 (-0.92%)
Mutual labels:  jupyter-notebook
Imagenetv2
A new test set for ImageNet
Stars: ✭ 109 (+0%)
Mutual labels:  jupyter-notebook
Math For Programmers
Source code for the book, Math for Programmers
Stars: ✭ 107 (-1.83%)
Mutual labels:  jupyter-notebook

Simple and Flexible Deep Recommenders in PyTorch

profile

Simple but flexible Deep Recommenders in PyTorch.

Plese review the deck to see the accompanying written & visual content. deck

View the deck here

Check out the notebooks within to step through variations of matrix factorization models. Here's what we'll cover:

  1. [Step 0] Introduction to autograd & deep learning using PyTorch, the Ignite library, and recommendation engines.
  2. [Step 1] Build a simple matrix-factorization model in PyTorch. These models are a fundamental core to Netflix's, Pandora's, Stitch Fix's and Amazon's recommendations engines.
  3. [Step 2] We'll expand on that model to include biases for extra predictive power
  4. [Step 3] Add in "side" features, especially useful in coldstart cases
  5. [Step 4] Model temporal effects which can track seasonal and periodic changes.
  6. [Step 5] We'll take detour and see how word2vec is mathematically identical to recommendation engines
  7. [Step 6] Upgrade the core of matrix factorization to Factorization Machines, which enables a huge number of interactions while keeping computation under control.
  8. [Step 7] We'll wrap up with Bayesian Deep Learning applied to rec engines. This Variational Matrix Factorization is a great way to dip your toes into explore & exploit problems.
  9. [Step 8] We'll build a real-time recommender using Transformers to read in an input ratings stream and generate recommendations.

To get started.

If at all possible, please check out and pre-install the environment.

git clone https://github.com/cemoody/simple_mf.git
cd simple_mf

1. Create environment.

Create the environment by following the steps below. If you choose to use your own environment, you'll need access to have the Python packages in requirements.txt installed.

Make sure you you have pytorch installed; if not, follow the instructions here

pip install pytorch-lightning optuna

Follow the directions the above command spits out.

2. Setup W & B account

You'll be creating using a (free) weights & biases account to track model metrics and performance over time. TO kickstart that process:

pip install wandb
wandb login

Setup your W&B account, then go to the W&B authorization page: https://app.wandb.ai/authorize and copy the auth code into your terminal when prompted by wandb login

3. Download and preprocess data:

This will download and preprocess the MovieLens 1M dataset. We'll use this canonical dataset to test drive our code.

  # required. will download the movielens 1M dataset.
  python src/download.py

  # optional! this is a bigger dataset we'll use for more
  # advanced models.
  python src/download_ml20.py

  # optional too. This is used for word2vec notebook.
  python src/skipgram.py

4. Does it work?

Open up and execute every line within the 01 MF model.ipynb notebook. If it works, you're golden.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].