Commit graph

15 commits

Author SHA1 Message Date
abigailgold
13a0567183
Make data minimization more consistent and performant (#83)
* Update requirements

* Update incompatible scipy version

* Reduce runtime of dataset assessment tests

* ncp is now a class that contains 3 values: fit_score, transform_score and generalizations_score so that it doesn't matter in what order the different methods are called, all calculated ncp scores are stored.
Generalizations can now be applied either from tree cells or from global generalizations struct depending on the value of generalize_using_transform. Representative values can also be computed from global generalizations.
Removing a feature from the generalization can also be applied in either mode.

* Compute generalizations with test data when possible (for computing better representatives).

* Externalize common test code to methods.
2023-08-21 18:39:15 +03:00
abigailgold
d52fcd0041
Formatting (#68)
Fix most flake/lint errors and ignore a few others

Signed-off-by: abigailt <abigailt@il.ibm.com>
2022-12-25 15:13:57 +02:00
abigailt
805a489201 Add method to get predict function from blackbox classifier, add loss and optimizer params for pytorch models to generate shadow models
Signed-off-by: abigailt <abigailt@il.ibm.com>
2022-11-09 14:42:55 +02: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
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
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
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