We used OpenRec, an open-source and modular library for neural network-inspired recommendation algorithms, to conduct our experiements in the paper. Please refer to the repo for installation details.
The MovieLens 20M dataset was used as a testbed to evaluate how user-controlled data filtering could affect recommendation performance. Follow this notebook to preprocess the dataset.
Please refer to our paper for more details about the experiments and the findings. Here we focus on explaining how to reproduce the results.
Under the project folder, run ./scripts/time_validation.sh $RECOMMENDER
to conduct hyperparemeter selection for the recommender. $RECOMMENDER
is one of the three: "CML", "BPR", "PMF" (you can extend it to other recommenders as well). Log files will be saved into the ./movielens_validation_logs/
folder.
After the validation logs are generated, follow the Model configuration section to generate model configurations for testing.
Under the project folder, run ./scripts/time_test.sh $RECOMMENDER $EVALUATOR
to evaluate recommendation performance on test set. $EVALUATOR
is one of "Recall" (Hit Ratio) and "NDCG" (Normalized Discounted Cumulative Gain). Test logs will be saved into the ./movielens_test_logs/
folder.
Follow the Experiments sections to generate figures that illustrate the experimental results.
Hongyi Wen, Longqi Yang, Michael Sobolev, and Deborah Estrin. 2018. Exploring Recommendations Under User-Controlled Data Filtering. In Twelfth ACM Conference on Recommender Systems (RecSys ’18), October 2–7, 2018, Vancouver, BC, Canada. [PDF][Slides]