RetailBox
🛍️ Machine Learning eCommerce Recommender System
Overview
RetailBox is a recommender system that uses machine learning to make recommendations based off of a user's past purchase history. This project was inspired by Amazon and their recommender system techology. In this system we use Collaborative Filtering based off of implicit user data.
Dataset
The dataset we used is the UCI Online Retail Dataset. This dataset has 25900 transactions, with each transaction containing 20 features and these transactions were made by 4,300 users.
Training/Test Split
The way we split the data was by time. In this scenario, our system makes recommendations based on implicit user data from the past so this is how we split our data.
Context of Recommendation Scenario
In this recommender system, the context we used can be seen by the diagram below. Our main model to generate recommendations for a user and if a user bought an item our system recommended, then it was a success!
Installation
pip install retailbox
CLI
$ retailbox --help
🛍️ Machine Learning eCommerce Recommender System
Usage
$ retailbox [<options> ...]
Options
--help, -h Display help message
--search, -s Search customer by ID [Can be any integer 0-4338]
--customer, -c <int> Input customer ID [Can be any integer 0-4338]
--info, -i Display customer information
--status, -s Display process info
--list, -l List available customer IDs
--version, -v Display installed version
Examples
$ retailbox --help
$ retailbox --search
$ retailbox --customer 1028
$ retailbox -c 1028
$ retailbox -m 1028 --info
$ retailbox -m 1028 -i --status
Usage
from retailbox.recommender import recommender
customer = 2874 # Customer ID
status = True # Display status information of program while running
# Generate recommendations
recommender(
customer_id=customer,
status=status)
References
- Matrix Factorization Techniques for Recommender Systems
- Matrix Factorization For Recommender Systems
- BPR: Bayesian Personalized Ranking from Implicit Feedback
- Based Subreddit Recommender System
- A Recurrent Neural Network Based Recommendation System
- BPR in Python
- SGD and ALS in collaborative filtering - CrossValidated Thread
- Python Pickle Module for saving Objects by serialization
- Python Packaging from Init to Deploy
Attribution and Inspiration
- Icon by Korawan Markeaw
- Inspired by MovieBox project by Mario Sinani & Klaus Sinani
Contributing
Contributions are always welcome! For bug reports or requests please submit an issue..