Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Geometric Mechanism Local DP for SKLearn Pipeline #388

Open
grilhami opened this issue Aug 31, 2021 · 1 comment
Open

Geometric Mechanism Local DP for SKLearn Pipeline #388

grilhami opened this issue Aug 31, 2021 · 1 comment
Labels
Type: New Feature ➕ Introduction of a completely new addition to the codebase

Comments

@grilhami
Copy link
Contributor

Feature Description

Enabling the use of Geometric Mechanism for Local DP in SKLean Pipeline. This should be in the form of an "operator" that should be inserted between the layers in SKLearn's Pipeline class.

Additional Context

Current development for the SKLean Pipeline is in branch feature/machine-learning-1.

Preferably, the name of the "operator" imported from PyDP should be called GeometricMechanism. The use should be as seamless and convenient as possible in SKLearn's Pipeline class. For example:

pipe = Pipeline([
    ('scaler', StandardScaler()),
    ('laplace', GeometricMechanism()), 
    ('nb', GaussianNB())
])

For more examples, please have look at the notebook example of Laplace Mechanism's implementation.

As starting guidance, please refer to the source code for LaplaceMechanism in here.

Note: the Geometric Mechanism would most likely need different parameters to be initialized compare to the Laplace Mechanism.

@grilhami grilhami added the Type: New Feature ➕ Introduction of a completely new addition to the codebase label Aug 31, 2021
@grilhami
Copy link
Contributor Author

Due to the nature of how we implement the Geometric class, it seems that we can only support datasets with categorical features. Alternatively, we can use GeometricDistribution direct from Google DP, but that means we also have to modify the already implemented LaplaceMechanism class so that it also uses LaplaceDistribution from Google DP.

What do you think? @chinmayshah99

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: New Feature ➕ Introduction of a completely new addition to the codebase
Projects
None yet
Development

No branches or pull requests

1 participant