Skip to content

This repository contains the code for our USENIX Security'23 paper "PORE: Provably Robust Recommender Systems against Data Poisoning Attacks"

Notifications You must be signed in to change notification settings

liu00222/PORE-Provably-Robust-Recommender-Systems-against-Data-Poisoning-Attacks

Repository files navigation

This repository contains the code of PORE.

Citation

If you use this code, please cite the following paper:

@inproceedings{jia2023pore,
  title={{PORE}: Provably Robust Recommender Systems against Data Poisoning Attacks},
  author={Jinyuan Jia and Yupei Liu and Yuepeng Hu and Neil Zhenqiang Gong},
  booktitle={USENIX Security Symposium},
  year={2023}
}

Sampling users and making recommendations with base recommenders

The file sample_T.py is used to sample users and make recommendations to them with base recommenders.

Firstly, you can modify the script run_sample.py to specify the configuration you want. Then, you could run the following script and the results will be saved in ./result:

python3 run_sample.py
CAVEAT

We load the data in an on-the-fly manner and the experimental results in the paper are all based on the MovieLens datasets that were accessed in 2020.09. However, MovieLens has updated their datasets for several times. Therefore, the results you obtain may be slightly different. To reproduce the results in the paper, please skip this step and directly run the next step with the data that are already in ./data.

PORE

The file pore.py implements our PORE.

You can use the following example script to get the certificatiion results:

python3 pore.py

About

This repository contains the code for our USENIX Security'23 paper "PORE: Provably Robust Recommender Systems against Data Poisoning Attacks"

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages