Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview:
This is the implementation of CARE, a multi-objective, model-agnostic recourse method that generates counterfactual explanations by optimizing seven objectives using NSGA-III genetic algorithm. The method organizes objectives into four hierarchical modules that can be progressively enabled.
Paper:
CARE: coherent actionable recourse based on sound counterfactual explanations
By Peyman Rasouli, Ingrid Chieh Yu
International Journal of Data Science and Analytics (2022)
Implementation:
Dataset: the authors' version of "Adult" (32561 entries, 14 features)
Model: GradientBoostingClassifier from sklearn, which is the only model that the authors used in their experiments.
Evaluation: N=50 test instances, which already took quite a while (paper used N=500)
Key dependencies:
numpy==1.21.6 # (upgraded from 1.19.4 for hdbscan compatibility)
deap==1.3.1 # NSGA-III optimization
dython==0.6.1 # Coherency objective
cython==0.29.37 # Build dependency for hdbscan
hdbscan==0.8.33 # Connectedness objective
NOTE: I am yet to modify the requirements-dev.py in my branch
Table 7 reproduction results:
I expect better reproduction results if run on more instances.