正在加载中...

展开本页目录
算法教程决策树算法

决策树算法

No.024 · 在线教程

决策树是一类可解释的监督学习模型,可用于分类与回归。其核心思想是:通过一系列“特征-阈值”划分,将样本逐步分裂到叶节点;分类任务在叶节点输出多数类,回归任务输出数值预测(常用均值)。

决策树算法(Decision Tree)

1. 方法概述

决策树是一类可解释的监督学习模型,可用于分类回归。其核心思想是:通过一系列“特征-阈值”划分,将样本逐步分裂到叶节点;分类任务在叶节点输出多数类,回归任务输出数值预测(常用均值)。

设共有 \(n\) 个样本、\(d\) 个特征,数据集为

$$ \mathcal{D}=\{(x_i,y_i)\}_{i=1}^{n},\quad x_i\in\mathbb{R}^d \tag{1} $$

其中 \(y_i\) 为类别标签(分类)或连续值(回归)。

2. 公共部分(预处理与树划分)

系统在模型训练前支持缺失处理、编码、缩放、多项式特征、特征选择与降维等步骤(均在训练集上拟合,再作用于测试集或交叉验证折内,避免数据泄漏)。

2.1 标准化与归一化

Z-score 标准化: $$ z_{ij}=\frac{x_{ij}-\mu_j}{\sigma_j} \tag{2} $$

Min-Max 归一化: $$ z_{ij}=\frac{x_{ij}-\min x_j}{\max x_j-\min x_j+\varepsilon} \tag{3} $$

2.2 One-Hot 编码(类别型变量)

$$ x^{(k)}_{ij}= \begin{cases} 1,& x_{ij}=\text{cat}_k\\ 0,& \text{otherwise} \end{cases} \tag{4} $$

2.3 多项式特征

$$ \phi(x)=\{x_1^{a_1}x_2^{a_2}\cdots x_d^{a_d}\mid a_1+\cdots+a_d\le d_p\} \tag{5} $$

2.4 特征选择(方差阈值 / 互信息)

方差阈值: $$ \operatorname{Var}(x_j)=\frac{1}{n-1}\sum_{i=1}^{n}(x_{ij}-\mu_j)^2 \tag{6} $$

互信息: $$ I(X;Y)=\sum_{x\in X}\sum_{y\in Y}p(x,y)\log\frac{p(x,y)}{p(x)p(y)} \tag{7} $$

2.5 降维(PCA)

协方差矩阵: $$ \Sigma=\frac{1}{n-1}\sum_{i=1}^{n}(x_i-\bar{x})(x_i-\bar{x})^\top \tag{8} $$

主成分解释率: $$ \eta_k=\frac{\lambda_k}{\sum_{j=1}^{d}\lambda_j} \tag{9} $$

2.6 IQR 异常值截断(可选)

$$ \text{IQR}=Q_3-Q_1,\quad x\leftarrow \min(\max(x,Q_1-k\cdot\text{IQR}),\,Q_3+k\cdot\text{IQR}) \tag{10} $$

2.7 分裂准则与不纯度下降

对节点 \(t\) 的样本集合 \(S_t\),选择特征与阈值使不纯度下降最大:

$$ \Delta I=I(t)-\frac{n_L}{n_t}I(t_L)-\frac{n_R}{n_t}I(t_R) \tag{11} $$

其中 \(n_t\) 为节点样本数,\(t_L,t_R\) 为左右子节点。

Gini 不纯度(分类): $$ I_G(t)=1-\sum_{c=1}^{C}p_{c}^{2} \tag{12} $$

信息熵(分类): $$ I_H(t)=-\sum_{c=1}^{C}p_{c}\log(p_c+\varepsilon) \tag{13} $$

误分类率不纯度(可选): $$ I_E(t)=1-\max_c p_c \tag{13a} $$

节点类别比例: $$ p_c=\frac{n_c}{n_t} \tag{13b} $$

信息增益(可选): $$ IG=H(t)-\sum_{k\in\{L,R\}}\frac{n_k}{n_t}H(t_k) \tag{13c} $$

信息增益率(可选): $$ GR=\frac{IG}{\text{SplitInfo}},\quad \text{SplitInfo}=-\sum_{k\in\{L,R\}}\frac{n_k}{n_t}\log\frac{n_k}{n_t} \tag{13d} $$

提示:式(13c)–(13d) 为常见理论分裂准则(ID3/C4.5),可按需选用或省略。

回归的方差/平方误差形式(可选): $$ \operatorname{Var}(t)=\frac{1}{n_t}\sum_{x_i\in S_t}(y_i-\bar{y}_t)^2,\quad \Delta \operatorname{Var}=\operatorname{Var}(t)-\sum_{k\in\{L,R\}}\frac{n_k}{n_t}\operatorname{Var}(t_k) \tag{13e} $$

$$ \operatorname{SSE}(t)=\sum_{x_i\in S_t}(y_i-\bar{y}_t)^2 \tag{13f} $$

提示:式(13e)–(13f) 为回归分裂的等价表达,论文中可选其一。

最小不纯度下降阈值(可选): $$ \Delta I<\delta\ \Rightarrow\ \text{停止分裂} \tag{13g} $$

提示:式(13g) 对应参数 min_impurity_decrease,可按需选用或省略。

2.8 叶节点预测

分类(多数类): $$ \hat{y}(x)=\arg\max_{c} p_c \tag{14} $$

回归(均值): $$ \hat{y}(x)=\frac{1}{|S_t|}\sum_{x_i\in S_t}y_i \tag{15} $$

2.9 成本复杂度剪枝(可选)

$$ R_\alpha(T)=R(T)+\alpha|T| \tag{16} $$

其中 \(|T|\) 为叶节点数,\(\alpha\) 为剪枝系数(ccp_alpha)。

子树替换准则(参考公式,可选): $$ g(t)=\frac{R(t)-R(T_t)}{|T_t|-1} \tag{16a} $$

当内部节点 \(t\) 的 \(g(t)\) 最小时,剪去其子树 \(T_t\),用叶节点替代可得到下一步剪枝树。
其中 \(R(t)\) 为将节点 \(t\) 直接作为叶节点的误差,\(R(T_t)\) 为其子树误差。

提示:式(16a) 为理论参考公式,论文中可按需选用或省略。

剪枝误差的常见写法(可选): $$ R(T)=\sum_{t\in \text{leaves}}\frac{n_t}{n}\,r(t) \tag{16b} $$

分类叶节点误差(可选): $$ r(t)=1-\max_c p_c \tag{16c} $$

回归叶节点误差(可选): $$ r(t)=\frac{1}{n_t}\sum_{x_i\in S_t}(y_i-\bar{y}_t)^2 \tag{16d} $$

提示:式(16b)–(16d) 为剪枝误差的常见表达,可按需选用或省略。

剪枝参数的另一种表达(可选): $$ \alpha_t=\frac{R(t)-R(T_t)}{|T_t|-1} \tag{16e} $$

提示:式(16e) 与式(16a) 同义,论文中可选其一。

停止条件与约束(可选): $$ n_t<n_{\min}\ \Rightarrow\ \text{停止分裂} \tag{16f} $$

$$ n_t<2n_{\text{leaf}}\ \Rightarrow\ \text{停止分裂} \tag{16g} $$

$$ \text{depth}(t)\ge D_{\max}\ \Rightarrow\ \text{停止分裂} \tag{16h} $$

提示:式(16f)–(16h) 对应参数 min_samples_split、min_samples_leaf、max_depth,可按需选用或省略。

最大叶节点数(可选): $$ |T|\ge L_{\max}\ \Rightarrow\ \text{停止分裂} \tag{16i} $$

最小权重叶节点比例(可选): $$ \frac{w_t}{\sum_{i=1}^{n}w_i}<\omega_{\min}\ \Rightarrow\ \text{停止分裂} \tag{16j} $$

其中 \(w_t=\sum_{x_i\in S_t} w_i\) 为节点样本权重之和。

提示:式(16i)–(16j) 对应参数 max_leaf_nodes、min_weight_fraction_leaf,可按需选用或省略。

加权不纯度/加权损失(可选): $$ I_w(t)=\sum_{c=1}^{C}p_c^{(w)}\big(1-p_c^{(w)}\big),\quad p_c^{(w)}=\frac{\sum_{x_i\in S_t,y_i=c} w_i}{\sum_{x_i\in S_t} w_i} \tag{16k} $$

$$ R_w(T)=\sum_{t\in \text{leaves}}\frac{w_t}{\sum_i w_i}\,r_w(t) \tag{16l} $$

提示:式(16k)–(16l) 为样本权重情形的参考写法,可按需选用或省略。

2.10 交叉验证(k 折)

$$ \overline{M}=\frac{1}{k}\sum_{t=1}^{k} M_t \tag{17} $$

为衡量指标波动性,可计算方差与标准差:

$$ \operatorname{Var}(M)=\frac{1}{k-1}\sum_{t=1}^{k}(M_t-\overline{M})^2 \tag{17a} $$

$$ \operatorname{Std}(M)=\sqrt{\operatorname{Var}(M)} \tag{17b} $$

提示:式(17a)–(17b) 为较复杂统计量,论文中可按需选用或省略。

2.11 符号说明

符号 含义
\(n,d\) 样本数与特征数
\(x_i,y_i\) 第 \(i\) 个样本特征与标签/真实值
\(C\) 类别数量
\(S_t\) 节点 \(t\) 的样本集合
\(I(t)\) 节点不纯度
\(\Delta I\) 不纯度下降
\(p_c\) 类别 \(c\) 在节点内的比例
\(n_c\) 节点内类别 \(c\) 的样本数
\(IG,GR\) 信息增益 / 信息增益率
\(\alpha\) 剪枝系数(ccp_alpha)
\(k\) 交叉验证折数
\(\delta\) 最小不纯度下降阈值
\(n_{\min}\) 最小分裂样本数
\(n_{\text{leaf}}\) 叶节点最小样本数
\(D_{\max}\) 最大树深度
\(L_{\max}\) 最大叶节点数
\(w_i\) 第 \(i\) 个样本权重
\(w_t\) 节点 \(t\) 的样本权重之和
\(\omega_{\min}\) 最小权重叶节点比例
\(p_c^{(w)}\) 加权类别比例
\(I_w(t)\) 加权不纯度
\(TP,FP,TN,FN\) 混淆矩阵四要素
\(\hat{y}\) 预测值

3. 分类版(DecisionTreeClassifier)

3.1 分类评价指标

准确率 $$ \text{Accuracy}=\frac{TP+TN}{TP+FP+TN+FN} \tag{18} $$

精确率 / 召回率 $$ \text{Precision}=\frac{TP}{TP+FP},\quad \text{Recall}=\frac{TP}{TP+FN} \tag{19} $$

F1 值 $$ \text{F1}=\frac{2\cdot\text{Precision}\cdot\text{Recall}}{\text{Precision}+\text{Recall}} \tag{20} $$

混淆矩阵元素定义(以正类为 1): $$ TP=\sum_{i=1}^{n}\mathbb{I}(y_i=1,\hat{y}_i=1) \tag{21} $$

$$ FP=\sum_{i=1}^{n}\mathbb{I}(y_i=0,\hat{y}_i=1) \tag{22} $$

$$ TN=\sum_{i=1}^{n}\mathbb{I}(y_i=0,\hat{y}_i=0) \tag{23} $$

$$ FN=\sum_{i=1}^{n}\mathbb{I}(y_i=1,\hat{y}_i=0) \tag{24} $$

提示:式(21)–(24) 为基础定义,若篇幅有限可仅保留混淆矩阵图与 Accuracy/F1 公式。

ROC/PR 曲线面积(AUC,选用): $$ \text{AUC}_{ROC}=\int_{0}^{1}\text{TPR}(\text{FPR})\,d(\text{FPR}) \tag{25} $$

$$ \text{AUC}_{PR}=\int_{0}^{1}\text{Precision}(\text{Recall})\,d(\text{Recall}) \tag{26} $$

阈值与 TPR/FPR 的关系(选用,二分类): $$ \text{TPR}(\tau)=\frac{TP(\tau)}{TP(\tau)+FN(\tau)},\quad \text{FPR}(\tau)=\frac{FP(\tau)}{FP(\tau)+TN(\tau)} \tag{27} $$

阈值与 Precision/Recall 的关系(选用,二分类): $$ \text{Precision}(\tau)=\frac{TP(\tau)}{TP(\tau)+FP(\tau)},\quad \text{Recall}(\tau)=\frac{TP(\tau)}{TP(\tau)+FN(\tau)} \tag{28} $$

宏/微平均(选用,多分类): $$ \text{Precision}_{macro}=\frac{1}{C}\sum_{c=1}^{C}\text{Precision}_c,\quad \text{Recall}_{macro}=\frac{1}{C}\sum_{c=1}^{C}\text{Recall}_c \tag{29} $$

$$ \text{Precision}_{micro}=\frac{\sum_c TP_c}{\sum_c (TP_c+FP_c)},\quad \text{Recall}_{micro}=\frac{\sum_c TP_c}{\sum_c (TP_c+FN_c)} \tag{30} $$

加权平均 Precision/Recall(选用,多分类): $$ \text{Precision}_{weighted}=\sum_{c=1}^{C}\frac{n_c}{N}\text{Precision}_c,\quad \text{Recall}_{weighted}=\sum_{c=1}^{C}\frac{n_c}{N}\text{Recall}_c \tag{31} $$

宏/微平均 F1(选用,多分类): $$ \text{F1}_{macro}=\frac{1}{C}\sum_{c=1}^{C}\text{F1}_c,\quad \text{F1}_{micro}=\frac{2\cdot\text{Precision}_{micro}\cdot\text{Recall}_{micro}}{\text{Precision}_{micro}+\text{Recall}_{micro}} \tag{32} $$

加权平均 F1(选用,多分类): $$ \text{F1}_{weighted}=\sum_{c=1}^{C}\frac{n_c}{N}\text{F1}_c \tag{33} $$

多分类混淆矩阵(选用): $$ \mathbf{C}\in\mathbb{R}^{C\times C},\quad C_{ij}=\sum_{n=1}^{N}\mathbb{I}(y_n=i,\hat{y}_n=j) \tag{34} $$

提示:式(25)–(34) 为补充定义,可按需选用或省略;本科/硕士论文可优先保留核心指标与图示。

3.2 分类文字说明(可直接用于论文)

  • 采用决策树分类模型,依据不纯度下降选择分裂特征与阈值(式(11)),常用 Gini 或信息熵(式(12)–(13))。
  • 叶节点以多数类作为预测输出(式(14)),并可绘制树结构图以增强可解释性。
  • 分类性能使用 Accuracy、Precision、Recall、F1 进行评价(式(18)–(20)),辅以混淆矩阵分析错误分布。
  • 输出 ROC/PR 曲线、阈值曲线与特征重要性图,用于评估区分能力与变量贡献。

4. 回归版(DecisionTreeRegressor)

4.1 回归评价指标

MAE $$ \text{MAE}=\frac{1}{n}\sum_{i=1}^{n}|y_i-\hat{y}_i| \tag{35} $$

MSE / RMSE $$ \text{MSE}=\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y}_i)^2 \tag{36} $$

$$ \text{RMSE}=\sqrt{\text{MSE}} \tag{37} $$

决定系数 $$ R^2=1-\frac{\sum_{i=1}^{n}(y_i-\hat{y}_i)^2}{\sum_{i=1}^{n}(y_i-\bar{y})^2} \tag{38} $$

绝对误差准则的叶节点预测(选用): $$ \hat{y}(x)=\operatorname{median}_{x_i\in S_t}(y_i) \tag{39} $$

提示:式(39) 仅在 criterion=absolute_error 时适用,可按需选用。

4.2 回归文字说明(可直接用于论文)

  • 采用决策树回归模型,按方差/均方误差类准则选择分裂点(式(11)、(15))。
  • 叶节点输出数值预测(常用均值,式(15),若使用 absolute_error 则为中位数,式(39))。
  • 回归性能以 MAE、RMSE 与 \(R^2\) 进行评价(式(35)–(38))。
  • 输出预测–真实对比图、残差分布与特征重要性图,辅助检验拟合与稳定性。

5. 特征重要性(可选)

决策树特征重要性可用“不纯度下降贡献”衡量:

$$ \text{Imp}(j)=\sum_{t\in T_j}\frac{n_t}{N}\Delta I_t \tag{40} $$

其中 \(T_j\) 为使用特征 \(j\) 的分裂节点集合。

提示:式(40) 为可选补充,可按需选用或省略。

6. 决策树可视化与规则(可选描述)

  • 树结构图展示“特征-阈值”分裂路径,便于论文解释模型决策逻辑。
  • 规则摘要可用“路径条件 + 叶节点预测”表达,例如:
    \(f_1\le a\) 且 \(f_2>b\) 预测为类别 \(c\)(或回归值 \(\hat{y}\))。
  • 若篇幅有限,可仅保留覆盖率最高的 3–5 条规则作为示例。

7. 界面流程与论文方法描述(可直接粘贴)

  • 选择任务类型(分类/回归),加载数据或示例数据,设置目标列。
  • 配置特征工程:缺失处理、One-Hot 编码、缩放、多项式特征、特征选择与降维(训练集拟合后作用于测试集)。
  • 设置决策树参数:criterion、splitter、max_depth、min_samples_split、min_samples_leaf、max_features、max_leaf_nodes、min_impurity_decrease、ccp_alpha、class_weight(仅分类)。
  • 运行模型,系统输出 Excel 多表结果与图表(混淆矩阵/ROC/PR/树结构/特征重要性/残差等)。

提示:论文正文可仅保留核心公式与主要结果图,其余“可选”公式可放附录或按需省略。

8. 与代码实现的对应关系

决策树算法在程序中的实现比普通教材描述更完整,对应代码主要位于 具体的算法/决策树算法/core/critic_calculator.pyrunners/run_decision_tree_from_config.pyui/results_widget.py

从真实代码看,以下内容需要在文档中明确:

  1. 结果目录固定为时间戳文件夹
    程序始终在 results/ 下创建时间戳目录,并将 Excel、树图、规则文件与其它图表统一输出到该目录,便于一个案例一个结果包。

  2. 处理后数据会被完整导出
    Excel 不仅有 原始数据,还会额外写出 处理后数据,即目标列与经过编码/特征工程后的特征矩阵。这一点对于论文方法复核很重要,因为决策树最终分裂的其实是处理后特征。

  3. 决策树特有产物不止一张树图
    程序会导出 tree.png 作为树结构示意图,还会生成 tree_rules.txttree_rules_raw.txt。前者更适合论文摘要式展示,后者更接近程序原始规则文本。

  4. 特征重要性与规则解释是程序原生输出
    代码会从 feature_importances_ 提取特征重要性,并可同时写入 Excel 和柱状图。因此论文中若解释“哪个变量更重要”,应以程序导出的特征重要性表和图为依据。

  5. 分类与回归共享树结构,但结果表不同
    分类任务会额外输出 混淆矩阵分类报告、ROC/PR 与类别分布;
    回归任务则重点输出残差图和回归评价指标。

  6. 学习曲线与校准曲线是附加分析,不是树模型核心公式的一部分
    程序可选导出学习曲线、校准曲线与类别分布图,这些属于评估与展示层,论文写作时应和树的分裂准则、规则解释分开表述。

9. 论文写作模板

方法描述模板:
“本文采用决策树模型建立预测框架。首先对原始数据进行缺失处理、类别编码及必要的特征工程,然后按训练集与测试集划分数据,在训练集上学习最优分裂规则。分类任务依据不纯度下降选择划分特征与阈值,叶节点输出多数类;回归任务依据误差下降划分,叶节点输出连续预测值。模型训练完成后,进一步结合特征重要性、树结构示意图与规则摘要,对模型判别逻辑进行解释。”

结果描述模板:
“程序导出的结果文件包含原始数据、处理后数据、逐样本预测、整体指标、特征重要性、图表清单以及树结构图和规则摘要。因而在论文结果部分,不仅可以报告分类准确率或回归误差,还可以进一步展示关键分裂路径、主要影响特征及代表性规则,从而增强模型解释性与应用说服力。”

10. 单篇终审补充

10.1 图题与表题对齐建议

  • 原始数据 表可写为:表X 决策树原始数据表。
  • 处理后数据 表可写为:表X 决策树处理后特征数据表。
  • 指标 表可写为:表X 决策树性能指标表。
  • 预测 表可写为:表X 决策树逐样本预测结果表。
  • 混淆矩阵 表可写为:表X 决策树混淆矩阵表。
  • 分类报告 表可写为:表X 决策树分类报告表。
  • 交叉验证 表可写为:表X 决策树交叉验证结果表。
  • 特征重要性 表可写为:表X 决策树特征重要性表。
  • 图表清单 表可写为:表X 决策树图表索引表。
  • 参数 表可写为:表X 决策树参数设置表。
  • tree.png 建议写为:图X 决策树结构图。
  • feature_importance.png 建议写为:图X 决策树特征重要性图。
  • confusion_matrix.png 建议写为:图X 决策树混淆矩阵图。
  • roc.png 建议写为:图X 决策树 ROC 曲线图。
  • pr.png 建议写为:图X 决策树 PR 曲线图。
  • threshold_f1.png 建议写为:图X 决策树阈值-F1 曲线图。
  • threshold_tpr_fpr.png 建议写为:图X 决策树阈值-TPR/FPR 曲线图。
  • class_distribution_triptych.png 建议写为:图X 决策树类别分布图。

10.2 终审说明

  • 当前最适合作为终审证据的代表性目录可采用 具体的算法/决策树算法/results/pytest_window1_baseline_dt_20260329_163711。该目录比普通分析目录更完整,保留了 repro 脚本、输入快照、树图和规则文本。
  • 真实工作表为 原始数据/处理后数据/指标/预测/混淆矩阵/分类报告/交叉验证/特征重要性/图表清单/参数。论文若解释“模型输入空间”,应优先引用 处理后数据特征重要性 两张表。
  • 当前真实图文件稳定为 tree.pngfeature_importance.pngconfusion_matrix.pngroc.pngpr.pngthreshold_f1.pngthreshold_tpr_fpr.pngclass_distribution_triptych.png,并附带 class_distribution_full.pngclass_distribution_grouped.png。正文通常只需引用主图集,类别分布扩展图可放附录。
  • 当前规则文本文件为 tree_rules.txttree_rules_raw.txt。前者适合论文中摘录规则,后者适合作为原始留档,不建议直接照搬进正文。
  • 当前复现脚本为 repro_decision_tree_20260329_163711.py,采用脚本同目录输入快照 SRC_FILE = 'dt_window1_input.csv',不是 repro_inputs/...。因此这篇文档也应明确写成“脚本同目录 CSV 快照复现”。

10.3 全量强化补充

本篇终审补充绑定的真实算法目录为 具体的算法/决策树算法,本次采用的代表性结果目录为 具体的算法/决策树算法/results/pytest_window1_baseline_dt_20260329_163711

该目录当前只保留一份主结果工作簿:

  • pytest_window1_baseline_dt_20260329_163711.xlsx

实测工作表为:

  • 原始数据
  • 处理后数据
  • 指标
  • 预测
  • 混淆矩阵
  • 分类报告
  • 交叉验证
  • 特征重要性
  • 图表清单
  • 参数

其中 处理后数据特征重要性预测 是这一轮最值得在论文中直接引用的三张表:它们分别对应模型实际输入空间、变量贡献排序和逐样本判别结果。交叉验证 则更适合用作附录中的稳定性证据。

当前目录中的真实图文件为:

  • 具体的算法/决策树算法/results/pytest_window1_baseline_dt_20260329_163711/tree.png
  • 具体的算法/决策树算法/results/pytest_window1_baseline_dt_20260329_163711/feature_importance.png
  • 具体的算法/决策树算法/results/pytest_window1_baseline_dt_20260329_163711/confusion_matrix.png
  • 具体的算法/决策树算法/results/pytest_window1_baseline_dt_20260329_163711/roc.png
  • 具体的算法/决策树算法/results/pytest_window1_baseline_dt_20260329_163711/pr.png
  • 具体的算法/决策树算法/results/pytest_window1_baseline_dt_20260329_163711/threshold_f1.png
  • 具体的算法/决策树算法/results/pytest_window1_baseline_dt_20260329_163711/threshold_tpr_fpr.png
  • 具体的算法/决策树算法/results/pytest_window1_baseline_dt_20260329_163711/class_distribution_triptych.png
  • 具体的算法/决策树算法/results/pytest_window1_baseline_dt_20260329_163711/class_distribution_full.png
  • 具体的算法/决策树算法/results/pytest_window1_baseline_dt_20260329_163711/class_distribution_grouped.png

此外,当前目录还真实保留了规则文本:

  • 具体的算法/决策树算法/results/pytest_window1_baseline_dt_20260329_163711/tree_rules.txt
  • 具体的算法/决策树算法/results/pytest_window1_baseline_dt_20260329_163711/tree_rules_raw.txt

因此这篇的真实证据链不止是 Excel 和图片,还包括可直接摘录的文本规则。论文如果需要展示决策路径,优先引用 tree_rules.txt,不要从截图反推规则。

复现实物方面,该目录实际包含:

  • 具体的算法/决策树算法/results/pytest_window1_baseline_dt_20260329_163711/repro_decision_tree_20260329_163711.py
  • 具体的算法/决策树算法/results/pytest_window1_baseline_dt_20260329_163711/dt_window1_input.csv

脚本中明确写成 SRC_FILE = 'dt_window1_input.csv',并把 file_path 同步写回该同目录 CSV 快照。因此这篇当前的真实复现口径同样是“结果目录同级输入快照 + repro 脚本”,不是 repro_inputs/... 目录方案。

10.4 软件实现核查补充(2026-07)

  • 当前实现是统一的决策树封装流程,分类与回归都通过同一结果管线落盘;正文中的 Gini、信息增益、剪枝等内容可以保留,但软件输出解释必须对应实际分支。
  • 代表性结果目录真实保留了 tree_rules.txttree_rules_raw.txt,这类规则文本比截图更适合在论文或说明里直接引用。
  • 导出结果包含树图、特征重要性、混淆矩阵、ROC/PR、阈值曲线、类别分布图以及交叉验证相关表格,说明该模块的证据链不是单一图像,而是表格、图片和规则文本的组合。
  • 复现口径仍是结果目录同级输入快照与 repro_decision_tree_*.py,文中不要把其他算法的样例文件名套进来。