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

If you're not sure about the file name format, learn more about wheel file names.

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

  • Download URL: dp_learning_ff-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 22.5 kB
  • Tags: Python 3
  • 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-py3-none-any.whl
Algorithm Hash digest
SHA256 4d94ce0861f79a492fc450446cce40ad6b099bb4c2cc6e23f4192e4f71523e3b
MD5 b031fef77e6dccbae39e988103fca387
BLAKE2b-256 11ba8a08a3b52e6a42faf7bd353f6329111dc5b8f43435f6b15cf2d40d3e9bd8

See more details on using hashes here.

Supported by

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