Enumeration for Logistic Regression of counterfactual antecedents with Pareto-optimal values when each feature is considered as an objective function. Orig column is the original sample and the columns C1 to C28 are counterfactual antecedents.
Abstract
Mining counterfactual antecedents became a valuable tool to discover knowledge and explain machine learning models. It consists of generating synthetic samples from an original sample to achieve the desired outcome in a machine learning model, thus helping to understand the prediction. An insightful methodology would explore a broader set of counterfactual antecedents to reveal multiple possibilities while operating on any classifier. Therefore, we create a tree-based search that requires monotonicity from the objective functions (a.k.a. cost functions); it allows pruning branches that will not improve the objective functions. Since monotonicity is only required for the objective function, this method can be used for any family of classifiers (e.g., linear models, neural networks, and decision trees). However, additional classifier properties speed up the tree search when it foresees branches that will not result in feasible actions. Moreover, the proposed optimization generates a diverse set of Pareto-optimal counterfactual antecedents by relying on multi-objective concepts. The results show an algorithm with working guarantees that enumerates a wide range of counterfactual antecedents. It helps the decision-maker understand the machine learning decision and finds alternatives to achieve the desired outcome. The user can inspect these multiple counterfactual antecedents to find the most suitable one and better understand the prediction.
Materials
BibTeX
@article{2022-ParetoOptimal,
 title = {Mining Pareto-Optimal Counterfactual Antecedents with a Branch-And-Bound Model-Agnostic Algorithm},
 author = {Marcos Medeiros Raimundo AND Luis Gustavo Nonato AND Jorge Poco},
 journal = {Data Mining and Knowledge Discovery},
 year = {2022},
 volume = {36},
 number = {6},
 url = {http://www.visualdslab.com/papers/ParetoOptimal},
}