opendp.extras.sklearn.decomposition package#
Module contents#
This module requires extra installs: pip install 'opendp[scikit-learn]'
For convenience, all the functions of this module are also available from opendp.prelude
.
We suggest importing under the conventional name dp
:
>>> import opendp.prelude as dp
The methods of this module will then be accessible at dp.sklearn.decomposition
.
See also our tutorial on diffentially private PCA.
- class opendp.extras.sklearn.decomposition.PCAEpsilons(eigvals, eigvecs, mean)[source]#
Bases:
NamedTuple
- Parameters:
eigvals (float) –
eigvecs (list[float]) –
mean (float | None) –
- eigvals: float#
Alias for field number 0
- eigvecs: list[float]#
Alias for field number 1
- mean: float | None#
Alias for field number 2
- opendp.extras.sklearn.decomposition.make_private_pca(input_domain, input_metric, unit_epsilon, norm=None, num_components=None)[source]#
Construct a Measurement that returns the data mean, singular values and right singular vectors.
- Parameters:
input_domain (Domain) – instance of array2_domain(size=_, num_columns=_)
input_metric (Metric) – instance of symmetric_distance()
unit_epsilon (float | PCAEpsilons) – ε-expenditure per changed record in the input data
norm (float | None) – clamp each row to this norm bound
num_components – optional, number of eigenvectors to release. defaults to num_columns from input_domain
- Returns:
a Measurement that computes a tuple of (mean, S, Vt)
- Return type: