This project consists of two kind of recommender systems as well as an evaluation system to evaluate their performance.
The baseline recommender system implements the item-to-item collaborative filtering.
The advanced recommender system implements the matrix factorization collaborative filtering.
The evaluation system evaluates a certain recommender system with the k-fold manner.
This project provides two command line tools: recommend.py and evaluate.py.
There are two models to choose: BLRS and ALS.
You need to prepare a rating file with each line in the format of
<USER_ID> <ITEM_ID> <RATING>.
Some example usages are listed below. See -h for further details.
To recommend a certain item to a certain user:
python3 recommend.py -m model -f file -u user_id -i item_id
To recommend top k items to a certain user:
python3 recommend.py -m model -f file -u user_id -k top_k
To evaluate on a fix number of users using existing split files:
python3 evaluate.py -m model -f file [file ...] -k K [K ...] -u num_user
To evaluate on all users using existing split files:
python3 evaluate.py -m model -f file [file ...] -k K [K ...]