trickster
Library and experiments for attacking machine learning in discrete domains using graph search.
See the documentation on Readthedocs, or jump directly to the guide.
Setup
Library
Install the trickster library as a Python package:
pip install -e git+git://github.com/spring-epfl/trickster#egg=trickster
Note that trickster requires Python 3.6.
Experiments
Python packages
Install the required Python packages:
pip install -r requirements.txt
System packages
On Ubuntu, you need these system packages:
apt install parallel unzip
Datasets
To download the datasets, run this:
make data
The datasets include:
- UCI German credit dataset
- Zafar Gilani's Twitter bot classification dataset
- Tao Wang's knndata
Citing
This is an accompanying code to the paper "Evading classifiers in discrete domains with provable optimality guarantees" by B. Kulynych, J. Hayes, N. Samarin, and C. Troncoso, 2018. Cite as follows:
@article{KulynychHST18,
author = {Bogdan Kulynych and
Jamie Hayes and
Nikita Samarin and
Carmela Troncoso},
title = {Evading classifiers in discrete domains with provable optimality guarantees},
journal = {CoRR},
volume = {abs/1810.10939},
year = {2018},
url = {http://arxiv.org/abs/1810.10939},
archivePrefix = {arXiv},
eprint = {1810.10939},
}
Acknowledgements
This work is funded by the NEXTLEAP project within the European Union’s Horizon 2020 Framework Programme for Research and Innovation (H2020-ICT-2015, ICT-10-2015) under grant agreement 688722.