This project strives to build a beer recommender using both collaborative filtering and bandit algorithm, and subsequently evaluate the best performing technique.
For more project details, please refer to the following resources linked here:
├── 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.
Download the BeerAdvocate Beer Reviews dataset from data.world linked here and save it as data/beer_reviews.csv
.
Run eda.ipnyb
to gain insights from the dataset collected.
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.
Run collaborative_filtering.ipnyb
to build a recommender system using Collaborative Filtering methods.
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
.
- Chan Cheah Cha - @cheahcha
- Chua Kai Bing - @kaibinggg
- Goh Jia Yi - @gohjiayi
- Lim Jia Qi - @addflag
- Tan Zen Wei - @zenweiii