Commit graph

24 commits

Author SHA1 Message Date
abigailt
a9e2a35e18 Add support for xgboost XGBClassifier (#53) 2022-07-28 17:21:24 +03:00
abigailt
a13415ad67 Externalize BlackboxClassifier dataset (x and predictions) 2022-07-25 16:31:45 +03:00
abigailt
fb534f7a0f BlackboxClassifier based on predictions to work with DatasetWithPredictions 2022-07-25 16:31:45 +03:00
abigailt
77a6e08c8e Keras regression support 2022-07-24 18:45:50 +03:00
abigailt
a7d156660e Wrap predict method in BlackBoxClassifierPredictMethod to avoid exception in ART when supplied method returns scalars 2022-07-20 13:33:19 +03:00
abigailt
1cc73b3da1 Check for mismatch between model output type and actual output 2022-07-20 13:33:19 +03:00
abigailt
bc7ab0cc7f Add model type to blackbox classifier (#49) 2022-07-20 13:33:19 +03:00
abigailgold
00f9c16863
Support additional use cases for data (#46)
* Make ART black box classifier not apply preprocessing to data
* Add option to store predictions (in addition to x,y) in Dataset and Data classes
2022-07-11 14:28:09 +03:00
Shlomit Shachor
e25e58b253
enhance calculation of nb classes + tests (#45)
* update get_nb_classes method to handle 1-hot and scalar input
2022-07-05 11:32:17 +03:00
abigailgold
c6eb553a9f
Blackbox predict method (#43)
* Support output probabilities
* Support black box classifier with predict method
* Update requirements (security alert #1)
2022-06-30 18:23:53 +03:00
Shlomit Shachor
1c4b963add
Wrappers no train (#40)
1) Handle train None in Data
2) Update BB Classifier to handle None either for train or test (x or y)
2022-06-26 14:43:22 +03:00
abigailgold
dfa684da6b
Consistent one-hot-encoding (#38)
* Reuse code between generalize and transform methods

* Option to get encoder from user

* Consistent encoding for decision tree and generalizations (separate from target model encoding)
2022-05-22 18:02:33 +03:00
abigailt
7055d5ecf6 Fix bug in pruning loop + fix test 2022-05-19 18:07:03 +03:00
abigailt
186f11eaaf Fix misclassification of categorical features with no generalizations (now appear under the 'untouched' category) 2022-05-19 16:42:31 +03:00
abigailgold
fe676fa426
New model wrappers (#32)
* keras wrapper + blackbox classifier wrapper (fix #7)

* fix error in NCP calculation

* Update notebooks

* Fix #25 (incorrect attack_feature indexes for social feature in notebook)

* Consistent naming of internal parameters
2022-05-12 15:44:29 +03:00
abigailgold
2b2dab6bef
Data and Model wrappers (#26)
* Squashed commit of wrappers:

    Wrapper minimizer

    * apply dataset wrapper on minimizer
    * apply changes on minimization notebook
    * add black_box_access and unlimited_queries params

    Dataset wrapper anonymizer

    Add features_names to ArrayDataset
    and allow providing features names in QI and Cat features not just indexes

    update notebooks

    categorical features and QI passed by indexes
    dataset include feature names and is_pandas param

    add pytorch Dataset

    Remove redundant code.
    Use data wrappers in model wrapper APIs.

    add generic dataset components 

    Create initial version of wrappers for models

* Fix handling of categorical features
2022-04-27 12:33:27 +03:00
olasaadi
d53818644e
Build the dt on all features anon (#23)
* add param to build the DT on all features and not just on QI
* one-hot encoding only for categorical features
2022-03-07 20:12:55 +02:00
olasaadi
752871dd0c
add minimization notebook (#22)
* add german credit notebook to showcase new features (minimize only some features and categorical features)

* add notebook to show minimization data on a regression problem
2022-02-23 14:57:12 +02:00
olasaadi
3feebe8973
Regression minimization (#20)
* support regression in minimization and add test

* fix #10
2022-01-27 15:57:55 +02:00
olasaadi
cb9278ddb5
Support regression models (#19)
* support DecisionTreeRegressor

* support regression models

* Update membership_inference_dp_diabetes_reg.ipynb
2022-01-26 14:30:58 +02:00
olasaadi
a9a93c8a3a
Train just on qi (#15)
* QI updates
* update code to support training ML on QI features
* fix code so features that are not from QI should not be part of generalizations
and add description
* merging two branches, training on QI and on all data
* adding tests and asserts
2022-01-12 17:01:27 +02:00
olasaadi
2eb626c00c
Sup cat features (#14)
* support categorical features

* update the documentation and readme
added a test for the case where cells are supplied as a param.

* add big tests (adult test and iris)
and fixed bugs

* update transform to return numpy if original data is numpy

* added nursery test

* break loop if there is an illegal level

* Stop pruning one step before passing accuracy threshold

* adding asserts and fix DecisionTreeClassifier init

* Fix tests

Co-authored-by: abigailt <abigailt@il.ibm.com>
2022-01-11 09:51:04 +02:00
abigailgold
f2e1364b43
Add data minimization functionality to the ai-privacy-toolkit (#3)
* Fix directory issue when running tests for first time

* Initial version of data minimization

* Update version and documentation

* Fix documentation
2021-07-12 15:56:42 +03:00
abigailt
5665c2e79d Initial commit 2021-04-28 14:00:19 +03:00