Commit graph

53 commits

Author SHA1 Message Date
abigailt
bc28f7f26a Return None where no predictions are available 2022-07-12 09:47:32 +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
natali
50317a8d67 fix for keras model check_and_transform_label_format requires nb_classes 2022-07-03 09:59:41 +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
Natalia Razinkov
bb224cd3dd
Bug fix for PytorchData dataset 2022-06-26 15:15:51 +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
fd6be8e778
Documentation updates (#29)
* Bump version to 0.1.0 (breaking changes to some APIs)

* Update documentation

* Update requirements

* gitignore
2022-05-02 11:46:18 +03:00
abigailgold
014aed9670
Update requirements (#28)
* Bump version to 0.1.0 (breaking changes to some APIs)
* Update documentation
* Update requirements
2022-05-01 15:49:18 +03:00
abigailgold
adc6b44350
Bump version and update documentation (#27)
* Bump version to 0.1.0 (breaking changes to some APIs)
* Update documentation
2022-05-01 15:18:07 +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
abigailt
c47819a031 Update docs 2022-02-23 19:40:11 +02:00
abigailt
7e2ce7fe96 Merge remote-tracking branch 'origin/main' into main 2022-02-23 19:26:44 +02:00
abigailt
7fbd1e4b90 Update version and docs 2022-02-23 19:22:54 +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
abigailgold
9de078f937
Update readme's with paper citations (#21) 2022-02-01 12:27:22 +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
abigailt
c1450865b1 Add link to Slack 2021-11-02 14:19:22 +02:00
abigailt
e44da7d1b5 Notebook fix 2021-08-18 07:51:23 +03:00
abigailgold
43952e2332
Minimization fixes (#12)
* Fixes related to corner cases in calculating generalizations

* Fix print

* Fix corner cases in transform as well

* Improve prints + bug fixes in calculation of feature to remove

* Notebook demonstrating ai minimization
2021-08-17 21:19:48 +03:00
abigailgold
d2591d7840
Update README.md 2021-08-12 14:44:49 +03:00
abigailt
dc43c9db94 Fix link in notebook 2021-08-02 11:50:43 +03:00
abigailt
cf7d161f44 Files for pypi dist 2021-08-02 11:48:05 +03:00
abigailt
c06e2180e9 Fix images 2021-07-12 16:06:32 +03:00
abigailt
797f575252 Fix image 2021-07-12 16:05:22 +03:00
abigailt
4839450120 Missing files 2021-07-12 16:03:03 +03:00
abigailt
d1dded59ac Fix requirements 2021-07-12 16:02:54 +03: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
abigailgold
bcc3d67ba4
Small fix + unified approach to numpy and pandas categorical data (#2) 2021-07-11 17:42:48 +03:00
abigailt
0358633f62 New pypi release, fixing distribution error 2021-06-30 22:28:14 +03:00
abigailt
34327c081d Update readme 2021-06-14 15:14:12 +03:00
abigailt
e97d509e78 Update pip installation instructions on readme 2021-06-10 08:03:54 +03:00
abigailt
412a4c3b51 Try to fix documentation 2021-06-07 17:28:10 +03:00
abigailt
fc35aed86d Try to fix documentation 2021-06-07 17:19:53 +03:00
abigailt
1513b14267 Update documentation 2021-06-07 17:07:51 +03:00
abigailt
a71d440272 Try to fix documentation 2021-06-07 17:01:21 +03:00
abigailt
519ed838e3 Try to fix documentation 2021-06-07 16:53:34 +03:00
abigailt
63caeec429 Try to fix documentation 2021-06-07 16:32:40 +03:00
abigailt
12292d36c9 Try to fix documentation 2021-06-07 16:29:34 +03:00
abigailt
d3a17d4c04 Try to fix documentation 2021-06-07 16:22:34 +03:00
abigailt
f0f8b76cc3 Notebook demonstrating attack with differential privacy defense. 2021-04-29 09:52:55 +03:00
abigailt
aca4df18e4 Ignore Jupyter Notebooks in git language detection 2021-04-28 16:34:02 +03:00