决策树算法
决策树是一类可解释的监督学习模型,可用于分类与回归。其核心思想是:通过一系列“特征-阈值”划分,将样本逐步分裂到叶节点;分类任务在叶节点输出多数类,回归任务输出数值预测(常用均值)。
决策树算法(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.py、runners/run_decision_tree_from_config.py 与 ui/results_widget.py。
从真实代码看,以下内容需要在文档中明确:
-
结果目录固定为时间戳文件夹
程序始终在results/下创建时间戳目录,并将 Excel、树图、规则文件与其它图表统一输出到该目录,便于一个案例一个结果包。 -
处理后数据会被完整导出
Excel 不仅有原始数据,还会额外写出处理后数据,即目标列与经过编码/特征工程后的特征矩阵。这一点对于论文方法复核很重要,因为决策树最终分裂的其实是处理后特征。 -
决策树特有产物不止一张树图
程序会导出tree.png作为树结构示意图,还会生成tree_rules.txt与tree_rules_raw.txt。前者更适合论文摘要式展示,后者更接近程序原始规则文本。 -
特征重要性与规则解释是程序原生输出
代码会从feature_importances_提取特征重要性,并可同时写入 Excel 和柱状图。因此论文中若解释“哪个变量更重要”,应以程序导出的特征重要性表和图为依据。 -
分类与回归共享树结构,但结果表不同
分类任务会额外输出混淆矩阵、分类报告、ROC/PR 与类别分布;
回归任务则重点输出残差图和回归评价指标。 -
学习曲线与校准曲线是附加分析,不是树模型核心公式的一部分
程序可选导出学习曲线、校准曲线与类别分布图,这些属于评估与展示层,论文写作时应和树的分裂准则、规则解释分开表述。
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.png、feature_importance.png、confusion_matrix.png、roc.png、pr.png、threshold_f1.png、threshold_tpr_fpr.png、class_distribution_triptych.png,并附带class_distribution_full.png、class_distribution_grouped.png。正文通常只需引用主图集,类别分布扩展图可放附录。 - 当前规则文本文件为
tree_rules.txt与tree_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.txt与tree_rules_raw.txt,这类规则文本比截图更适合在论文或说明里直接引用。 - 导出结果包含树图、特征重要性、混淆矩阵、ROC/PR、阈值曲线、类别分布图以及交叉验证相关表格,说明该模块的证据链不是单一图像,而是表格、图片和规则文本的组合。
- 复现口径仍是结果目录同级输入快照与
repro_decision_tree_*.py,文中不要把其他算法的样例文件名套进来。