如何从决策树中抽取可解释规则?
简化版
从决策树抽取规则,就是把根到叶的每个判断按 AND 连接,并把叶预测作为结论。可进一步合并同一特征区间、去掉低覆盖或低精度规则,并在独立数据上验证覆盖率、准确率与冲突;规则导出后不等于永远正确。
详细版
-
深度优先遍历树,左分支记录
x≤t,右分支记录x>t。 -
同一路径多次判断同一特征时,应合并为上下界区间。
-
每条规则至少附叶样本数、覆盖率、类别分布或误差。
-
规则用于人工执行时要处理缺失值、类别编码和边界等号。
-
剪枝或筛选可提高可读性,但会牺牲原树的完整覆盖。
完整版教学
一、路径天然就是合取规则
树的预测是从根依次通过判断,直到某个叶。
因而一条路径上的所有条件必须同时成立,叶与叶之间则构成 OR 关系。
抽取并不困难,困难在于把模型内部阈值变成稳定、可执行、可审计的业务规则,并量化规则在新数据上的表现。
二、数学机制怎么落到节点上
path rule = condition_1 AND condition_2 … AND condition_d;coverage(rule) = matched_samples / all_samples。
path rule = condition_1 AND condition_2 ... AND condition_d
coverage(rule) = matched_samples / all_samples
precision(rule) = correct_matched / matched_samples
三、带数字的推演
路径为 age≤35 -> income>80k -> debt≤20k,叶内 45 人中 36 人为正。
规则覆盖测试集 5%,叶内精度为 36/45=80%;不能只展示“预测为正”而隐藏样本仅 45。
四、方法对比
| 方法/对象 | 核心特点 | 代价或限制 |
|---|---|---|
| 完整路径规则 | 忠实复现单树 | 数量多、可能很长 |
| 剪枝后规则 | 可读性较好 | 可能改变预测 |
| 高价值规则集 | 只保留高覆盖/高精度 | 不能覆盖所有输入 |
五、从训练到验证的执行链
DFS 遍历 -> 累积路径条件 -> 到叶输出规则与统计
-> 合并重复区间 -> 映射原始特征 -> 独立集验证 -> 版本化发布
六、边界条件与工程代价
若训练前做了 one-hot、标准化或目标编码,导出的阈值属于变换后空间。
必须通过同一预处理反解或把预处理纳入规则引擎,否则业务人员无法正确执行。
浮点边界要保持 ≤ 与 > 的精确语义。
四舍五入展示阈值可能让临界样本同时命中两条或一条都不命中。
记忆钩子:沿根到叶把条件用 AND 串起来,叶间用 OR 联合;然后补上覆盖、精度、样本数三个证据。
七、常见误区与追问
-
误区:每个叶节点就是一条单条件规则。 规则包含从根到叶的全部条件,逻辑为 AND。
-
追问:不同叶规则如何组合? 覆盖同一预测类别的路径之间通常是 OR。
-
误区:训练叶纯度就是线上规则精度。 必须在独立、代表上线分布的数据上重新统计。
-
追问:如何简化重复条件? 把同一特征的多个上下界求交,合并为一个区间。
-
追问:为何要保存版本? 模型、预处理和数据漂移都会改变规则及其统计。
八、加强记忆
沿根到叶把条件用 AND 串起来,叶间用 OR 联合;然后补上覆盖、精度、样本数三个证据。
真正落地还要反解预处理、保留边界语义并版本化。