Giter Site home page Giter Site logo

mary-python / shuffle Goto Github PK

View Code? Open in Web Editor NEW
6.0 2.0 1.0 224 KB

Implementation of two new protocols in the Shuffle Model of Differential Privacy for the private summation of vector-valued messages

Home Page: https://ieeexplore.ieee.org/document/9696239

Python 100.00%
differential-privacy discrete-fourier-transform mean-square-error randomized-response randomizer

shuffle's Introduction

Aggregation and Transformation of Vector-Valued Messages in the Shuffle Model of Differential Privacy: Experimental Evaluation

This repository contains all the supporting files for the experimental sections of the papers Aggregation and Transformation of Vector-Valued Messages in the Shuffle Model of Differential Privacy and Applying the Shuffle Model of Differential Privacy to Vector Aggregation, including all the Python files necessary for anyone to repeat all of the experiments given as evidence for the results in the paper.

Environment

  • Install the latest version of Python 3, and install the additional packages decimal, matplotlib, numpy, progress and scipy using PIP.
  • Download the Python files shuffle_all_data_collection.py and shuffle_all_plot.py, or shuffle_all_data_collection_with_baseline.py and shuffle_all_plot_with_baseline_corrected.py if interested in the baseline experiments.
  • Download the files mitbih_test.csv (102.89 MB) and mitbih_train.csv (411.5 MB) from the ECG Heartbeat Categorization Dataset and place them in the same folder as the Python files.

Instructions

  • After setting up the Python environment and downloading all the required files as outlined above, open and run shuffle_all_data_collection.py or shuffle_all_data_collection_with_baseline.py. There will be various progress bars appearing in the terminal, indicating which experiment is being run.
  • When the text "Thank you for using the Shuffle Model for Vectors" appears, the experiments have finished and all data for the final plots has been collected and saved in the same folder as the Python files. This should happen within 1 hour. Not all the files appearing in the folder at this stage may be directly useful in their own right, but some contain useful information for the plotting step below. Therefore, all saved files should remain in the folder until the plotting step is complete.
  • At this point, open and run shuffle_all_plot.py or shuffle_all_plot_with_baseline_corrected.py to complete the final plots. These should appear within a few seconds, and should be exactly the graphs found in the experimental sections of Aggregation and Transformation of Vector-Valued Messages in the Shuffle Model of Differential Privacy and Applying the Shuffle Model of Differential Privacy to Vector Aggregation.

Authors

shuffle's People

Contributors

mary-python avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

zhangzhizheng

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.