Skip to content

Conversation

@Jamie001129
Copy link
Contributor

@Jamie001129 Jamie001129 commented Nov 21, 2025

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:

Config Source ↓O_outcome ↓O_distance ↓O_sparsity ↑O_proximity ↑O_connect ↓O_cohere ↓O_action
{1} Original 0.00±0.0 0.02±0.0 1.41±0.7 0.58±0.5 0.20±0.4 0.05±0.2 0.08±0.3
Reproduced 0.00±0.0 0.03±0.0 1.46±0.8 0.66±0.5 0.18±0.4 0.13±0.3 0.12±0.4
{1,2} Original 0.00±0.0 0.12±0.1 2.84±1.7 1.00±0.0 1.00±0.1 0.10±0.3 0.36±0.6
Reproduced 0.00±0.0 0.13±0.1 3.00±1.7 1.00±0.0 1.00±0.0 0.13±0.3 0.34±0.6
{1,2,3} Original 0.00±0.0 0.12±0.1 3.05±1.7 1.00±0.0 1.00±0.1 0.00±0.0 0.35±0.6
Reproduced 0.00±0.0 0.13±0.1 3.20±1.7 1.00±0.0 1.00±0.0 0.00±0.0 0.44±0.7
{1,2,3,4} Original 0.00±0.0 0.11±0.1 2.76±1.8 1.00±0.0 0.91±0.3 0.00±0.0 0.00±0.0
Reproduced 0.00±0.0 0.12±0.1 2.96±1.7 1.00±0.0 0.90±0.3 0.00±0.0 0.00±0.0

I expect better reproduction results if run on more instances.

@Jamie001129 Jamie001129 changed the title Add care Add care method Nov 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant