This repository contains the evaluation code for the ICML'23 paper: Secure Federated Correlation Test and Entropy Estimation.
First, set up the running environment with the setup script.
./setup.sh
Enter the python3.7 virtual environment.
source ./venv/bin/activate
Get the datasets ready.
cd ./dataset
./download.sh
cd ..
Evaluate multiplicative error.
cd ./src
python simulate.py --data='synthesize' --correlation='independent'
python simulate.py --data='synthesize' --correlation='linear'
python simulate.py --data='synthesize' --correlation='quadratic'
python simulate.py --data='synthesize' --correlation='logistic'
python simulate.py --data='customer'
python simulate.py --data='payment_1'
python simulate.py --data='payment_2'
python simulate.py --data='payment_3'
python simulate.py --data='adult'
python simulate.py --data='gtsrb_width'
python simulate.py --data='gtsrb_height'
python simulate.py --data='gtsrb_x1'
python simulate.py --data='gtsrb_y1'
python simulate.py --data='gtsrb_x2'
python simulate.py --data='gtsrb_y2'
python simulate.py --data='mushroom_2_4'
python simulate.py --data='mushroom_8_13'
python simulate.py --data='mushroom_14_18'
python simulate.py --data='mushroom_19_21'
python simulate.py --data='lymphography'
Client-side Computation Overhead. Figure 2 in the paper is generated by running the following command using Pydroid 3 on a OnePlus 8.
python mobile_benchmark.py
Feature Selection.
python Reuters.py --type='filter'
python Reuters.py --type='orig'
python Reuters.py --type='train'
Online False Discovery Rate Control. Code used in this part is borrowed from https://github.com/wanrongz/PAPRIKA.
cd ../PAPRIKA/
python run_and_plot.py