Skip to content

Building a beer recommender using collaborative filtering and bandit algorithms, and evaluating the best performing technique.

License

Notifications You must be signed in to change notification settings

gohjiayi/beer_recommender

Repository files navigation

Building a Beer Recommender using Bandit Algorithms

This project strives to build a beer recommender using both collaborative filtering and bandit algorithm, and subsequently evaluate the best performing technique.

Project Resources

For more project details, please refer to the following resources linked here:

  1. Project Report
  2. Project Slides
  3. Project Video

Project Directory Structure

├── data
│   ├── bandit
│   │   ├── simulate_[bandit_algo].csv
│   │   └── ...
│   ├── beer_matrix_100.csv
│   └── beer_reviews.csv
├── eda.ipnyb
├── data_preprocessing.ipnyb
├── collaborative_filtering.ipnyb
├── bandit_algorithms.ipynb
└── ...

Note:

  • All files within in data/ are accessible here; more details on the source will be further elaborated.
  • All .ipnyb notebooks are tuned for Google Colab usage. For local usage, minor code changes and environment setup will be required.

1. Data Gathering

Download the BeerAdvocate Beer Reviews dataset from data.world linked here and save it as data/beer_reviews.csv.

2. Exploratory Data Analysis

Run eda.ipnyb to gain insights from the dataset collected.

3. Data Preprocessing

Run data_preprocessing.ipnyb to preprocess the Beer Reviews dataset, which generates data/beer_matrix_100.csv. This data subset will be specifically used to build a recommender system using Bandit Algorithms.

4. Collaborative Filtering

Run collaborative_filtering.ipnyb to build a recommender system using Collaborative Filtering methods.

5. Bandit Algorithms

Run bandit_algorithms.ipnyb to build recommender systems using Bandit Algorithms - Epsilon-Decay, Annealing Softmax, UCB1, Bayesian UCB and Thompson Sampling. Simulated data for each algorithm will be generated as data/bandit/simulate_[bandit_algo].csv.

Contributors

About

Building a beer recommender using collaborative filtering and bandit algorithms, and evaluating the best performing technique.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published