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
- Set your total privacy budget in (0,rho)-zCDP.
- 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
- Call the private prototype calculation using your
train_preds
,train_targets
andPs
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]])
Project details
Release history Release notifications | RSS feed
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.4a1.tar.gz
(15.3 kB
view hashes)
Built Distribution
Close
Hashes for dp_learning_ff-0.0.4a1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27411569b16c24ee65b942908600bcf12a35f917536a89670391023892ad2642 |
|
MD5 | c61a22a484e604b62a769bff5b283758 |
|
BLAKE2b-256 | b7d604191c70ce83fc7c72e5e929720e44599720a909435dff7ad447fb50f639 |