Skip to main content

Repository of differentially-private methods for learning from features.

Project description

Description

Repository of differentially-private methods for learning from features.

Usage

Installation

pip install dp-learning-ff

Private Prototype Calculation

  1. Set your total privacy budget in (0,rho)-zCDP.
  2. Divide your total budget into a budget per step. Good starting values are listed below. The algorithm will perform len(Ps) many steps.
Ps = [rho] # One iteration
Ps = [5 / 64 * rho, 7 / 64 * rho, 52 / 64 * rho] # Three iterations
  1. Call the private prototype calculation using your train_preds, train_targets and Ps as outlined above.
num_samples = 100
dimensionality = 10
num_classes = 5
train_preds = np.random.normal(0,1,(num_samples, dimensionality))
train_targets = np.random.randint(num_classes, size=(num_samples)) # Supports unbalanced classes
private_prototypes = dp_learning_ff.give_private_prototypes(train_preds, train_targets, Ps)
>>> private_prototypes.shape
(5, 10)
>>> private_prototypes
array([[-1.08239659,  0.50517265,  0.46295668,  0.11665974, -0.41539363,
         0.46428818, -0.30204127, -0.20684517, -0.11748276, -0.44173581],
       [-0.97640077,  0.73495051, -0.3125302 ,  0.39733846, -0.15187237,
        -0.09618042,  0.50008494,  0.06408969, -0.59472233,  0.56000984],
       [-0.07384877, -0.04661516,  0.83469973, -0.18854654, -0.3631222 ,
        -0.56158617,  0.03480437, -0.17749153, -0.25144926,  0.99669163],
       [ 0.02682651, -0.57948712, -0.33462215,  0.32657359, -0.13894844,
        -1.16420508,  0.84630674, -0.0343235 , -0.38193481,  0.29124748],
       [ 1.12158357,  0.17188541, -0.2582887 , -0.2140504 ,  0.06759121,
        -0.26975582, -0.46858189,  0.67295234,  0.64183255, -0.10445519]])

Acknowledgements

Prototype Calculations use the coinpress algorithm from the paper CoinPress: Practical Private Mean and Covariance Estimation, authored by Sourav Biswas, Yihe Dong, Gautam Kamath, Jonathan Ullman. Code contributed by all four authors.

@incollection{BiswasDKU20,
  title         = {CoinPress: Practical Private Mean and Covariance Estimation},
  author        = {Biswas, Sourav and Dong, Yihe and Kamath, Gautam and Ullman, Jonathan},
  booktitle = {Advances in Neural Information Processing Systems 33},
  url       = {arXiv preprint arXiv:2006.06618},
  year          = {2020}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dp_learning_ff-0.0.8.tar.gz (21.6 kB view details)

Uploaded Source

Built Distribution

dp_learning_ff-0.0.8-py3-none-any.whl (22.5 kB view details)

Uploaded Python 3

File details

Details for the file dp_learning_ff-0.0.8.tar.gz.

File metadata

  • Download URL: dp_learning_ff-0.0.8.tar.gz
  • Upload date:
  • Size: 21.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for dp_learning_ff-0.0.8.tar.gz
Algorithm Hash digest
SHA256 9227883b44a60df96ebbe17f366e7f99f0a6d68cdc2e5ed0381061d5eb846063
MD5 5ff66d0817b69d20c52641e8e8c76e5e
BLAKE2b-256 fd9c926192f38fd50ddd355c62de52f375b6b347fc6ad68b5ec9ec16ca1cf3bd

See more details on using hashes here.

File details

Details for the file dp_learning_ff-0.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for dp_learning_ff-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 4d94ce0861f79a492fc450446cce40ad6b099bb4c2cc6e23f4192e4f71523e3b
MD5 b031fef77e6dccbae39e988103fca387
BLAKE2b-256 11ba8a08a3b52e6a42faf7bd353f6329111dc5b8f43435f6b15cf2d40d3e9bd8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page