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.4a2.tar.gz
(16.0 kB
view details)
Built Distribution
File details
Details for the file dp_learning_ff-0.0.4a2.tar.gz
.
File metadata
- Download URL: dp_learning_ff-0.0.4a2.tar.gz
- Upload date:
- Size: 16.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff73f12ce0cd2b882aafcf4bf7019f045beeea3e2677c0b17b443dc48c87c4c9 |
|
MD5 | f926ad12fe401a28096e9aff90099107 |
|
BLAKE2b-256 | ea04f256346161fa16973d9884887624cf892a4a2d734eb1a68451fd05fa801f |
File details
Details for the file dp_learning_ff-0.0.4a2-py3-none-any.whl
.
File metadata
- Download URL: dp_learning_ff-0.0.4a2-py3-none-any.whl
- Upload date:
- Size: 19.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5aa4184966d4c56e5ae48b2692910eb28658949b55768e9aaca87b8dd5cc69f5 |
|
MD5 | 90c14750be30c44cf1015d13efcb43dd |
|
BLAKE2b-256 | c73e0b890b19fa615d4b83bef32ecdbb471bc6615358107160eae46c7e2af7eb |