{ "cells": [ { "cell_type": "markdown", "id": "b1db8c9a", "metadata": {}, "source": [ "# Sufficient Reasons" ] }, { "cell_type": "markdown", "id": "514a5144", "metadata": {}, "source": [ "Formally, an **abductive explanation** $t$ for an instance $x$ given a classifier $f$ (that is binary or not) \n", "is a subset $t$ of the characteristics of $x$ such that every instance $x'$ sharing this set t of characteristics is classified by $f$ as $x$ is. A **sufficient reason** $t$ for $x$ given $f$ is an abductive explanation for $x$ given $f$ such that no proper subset $t'$ of $t$ is an abductive explanation for $x$ given $f$ (i.e., minimal w.r.t. set inclusion).\n", "\n", "Considering the boosted tree of the [Building Models](/documentation/learning/builder/BTbuilder/) page consisting of $4$ features ($A_1$, $A_2$, $A_3$ and $A_4$), we can derive as an example the sufficient reason $t$ = ($A_1 = 4$, $A_4 = 1$) for the instance $x$ = ($A_1=4$, $A_2 = 3$, $A_3 = 1$, $A_4 = 1$). In this figure, this sufficient reason is shown in red:\n", "\n", "\n", "\n", "As you can see on the figure, some leaves of this sufficient reason corresponds to positive or negative predictions. \n", "However, all the instances $x'$ extending $t$ can be gathered into four categories, obtained by considering the truth values of the Boolean conditions over the two remaining attributes ($A_2$ and $A_3$) as encountered in the trees of $BT$. This table shows that, in every case, we have $W(F, x') > 0$, showing that $f(x') = 1$.\n", "\n", "
$A_1 = 4$ | \n", "$A_2 = 3$ | \n", "$A_3 = 1$ | \n", "$A_4 = 4$ | \n", "$w(T_1,x')$ | \n", "$w(T_2,x')$ | \n", "$w(T_3,x')$ | \n", "$W(F,x)$ | \n", "
---|---|---|---|---|---|---|---|
1 | \n", "0 | \n", "0 | \n", "1 | \n", "0.4 | \n", "0.3 | \n", "0.2 | \n", "0.9 | \n", "
1 | \n", "0 | \n", "1 | \n", "1 | \n", "0.4 | \n", "0.3 | \n", "-0.4 | \n", "0.3 | \n", "
1 | \n", "1 | \n", "0 | \n", "1 | \n", "-0.3 | \n", "0.5 | \n", "0.3 | \n", "0.5 | \n", "
1 | \n", "1 | \n", "1 | \n", "1 | \n", "0.3 | \n", "0.5 | \n", "0.1 | \n", "0.9 | \n", "