DISCLAIMER: This project is a Work in Progress.
Watson is a recommender system that uses Singular Value Decomposition (SVD) to find latent features in historical datasets.
python3.6 -m venv env
source env/bin/activate
pip install -r requirements.txt
The following scripts are available:
# Generate files
python generate.py
# Train and Test
python recommend.py
- Recommendation for items for a single user based on its buying history
- Recommendation for items, not previously bought, for a single user based on its buying historical and other simular users (Item-Item Collaborative Filtering)
- Other users bought X also bought Y (Item-Item Collaborative Filtering)
- Recommend similar (categorical) product (Content-Based)
Items can be ranked based on the frequency on which items are bought. An item that was bought 10 times has a 10 times higher score compared with a product that has been bought only once. Feature scaling is applied to normalise the scores.
- Recommender Systems: An Introduction by Dietmar Jannach by Dietmar Jannach, Markus Zanker, Alexander Felfernig, Gerhard Friedrich.
- Cambridge Spark - Implementing your own recommender systems in Python