/DPBoost

Privacy-Preserving Gradient Boosting Decision Trees (AAAI 2020)

Primary LanguageC++MIT LicenseMIT

This is the code of paper Privacy-Preserving Gradient Boosting Decision Trees, a joint work with Zhaomin Wu, Zeyi Wen, and Bingsheng He. The implementation is based on LightGBM.

Script

Instructions to run DPBoost:

cd python-package
python3 setup.py install --user
cd ..
python3 run_exp.py

Parameters

In function try_DPBoost_2level of run_exp.py:

output_path: The output file path.

n_trees: Number of trees.

total_budgets: The privacy budget

inner_boost_round: Number of trees inside an ensemble.

Note

  1. Since we directly implement the code based on LightGBM, it may overwrite the vanilla LightGBM of your python library.

  2. Currently the code only supports setting objective as regression (use square loss function). For the binary classification task, we convert it to the regression task (e.g., for class in [-1,1], the output class is 0 if the prediction score is bigger than 0).

Contact

Please contact me by email liqinbin1998@gmail.com or create issues if you have any question.