正在加载中...

展开本页目录
算法教程XGBoost

XGBoost

No.036 · 在线教程

XGBoost(Extreme Gradient Boosting)是基于梯度提升树(GBDT)的高性能实现,核心特点是二阶梯度优化、显式正则化与高效并行/分布式训练。本系统支持 分类 与 回归 两类任务,并提供特征工程、交叉验证、学习曲线、特征重要性与可选的 SHAP 解释等…

XGBoost 算法(Extreme Gradient Boosting)

1. 方法概述

XGBoost(Extreme Gradient Boosting)是基于梯度提升树(GBDT)的高性能实现,核心特点是二阶梯度优化显式正则化高效并行/分布式训练。本系统支持 分类回归 两类任务,并提供特征工程、交叉验证、学习曲线、特征重要性与可选的 SHAP 解释等功能。

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

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

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

2. 公共部分(预处理与 XGBoost 机制)

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

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 加性模型与正则化目标

XGBoost 的模型为加性形式:

$$ F_M(x)=\sum_{m=1}^{M} f_m(x),\quad f_m\in\mathcal{F} \tag{5} $$

目标函数:

$$ \mathcal{L}=\sum_{i=1}^{n} l\big(y_i,\hat{y}_i\big)+\sum_{m=1}^{M}\Omega(f_m) \tag{6} $$

其中正则项

$$ \Omega(f)=\gamma T+\frac{1}{2}\lambda\|w\|^2+\alpha\|w\|_1 \tag{7} $$

\(T\) 为叶子数量,\(w\) 为叶子权重,\(\gamma,\lambda,\alpha\) 分别为叶惩罚与 L2/L1 正则。

2.4 二阶泰勒近似

对第 \(t\) 轮新增树的优化目标近似为

$$ \tilde{\mathcal{L}}^{(t)}=\sum_{i=1}^{n}\Big(g_i f_t(x_i)+\tfrac{1}{2}h_i f_t(x_i)^2\Big)+\Omega(f_t) \tag{8} $$

其中

$$ g_i=\frac{\partial l(y_i,\hat{y}_i)}{\partial \hat{y}_i},\quad h_i=\frac{\partial^2 l(y_i,\hat{y}_i)}{\partial \hat{y}_i^2} \tag{9} $$

2.5 叶节点最优权重

对叶节点 \(j\) 上样本集合 \(I_j\),若忽略 L1 的软阈值形式,则最优权重为

$$ w_j^*=-\frac{\sum_{i\in I_j} g_i}{\sum_{i\in I_j} h_i+\lambda} \tag{10} $$

2.6 分裂增益

将叶节点分裂为左、右子节点,增益为

$$ \text{Gain}=\frac{1}{2}\left(\frac{G_L^2}{H_L+\lambda}+\frac{G_R^2}{H_R+\lambda}-\frac{(G_L+G_R)^2}{H_L+H_R+\lambda}\right)-\gamma \tag{11} $$

其中 \(G_* = \sum g_i\)、\(H_* = \sum h_i\)。

2.7 Shrinkage 与子采样

学习率 \(\eta\) 用于缩减每棵树贡献:

$$ F_t(x)=F_{t-1}(x)+\eta\,f_t(x) \tag{12} $$

行采样与列采样(本系统提供 subsample 与 colsample_bytree):

$$ X\leftarrow \text{SampleRows}(X,\ \text{subsample}),\quad X\leftarrow \text{SampleCols}(X,\ \text{colsample}) \tag{13} $$

2.8 类别不平衡(仅二分类)

对正负样本比例进行校正:

$$ \text{scale\_pos\_weight}=\frac{N_{neg}}{N_{pos}} \tag{14} $$

系统支持自动按训练集负/正样本比计算,或手动指定。

2.9 早停(Early Stopping,系统支持)

在验证集指标 \(M_t\) 上选择最优迭代:

$$ t^*=\arg\min_t M_t \tag{15} $$

系统可在“早停与验证集”中设置验证集比例与 early_stopping_rounds。

2.10 自动调参(系统支持)

系统支持 Optuna 自动调参(不可用时回退随机搜索),目标为

$$ \theta^*=\arg\max_{\theta} M(\theta) \tag{16} $$

其中 \(M\) 为选择的优化指标(分类:F1/Accuracy/Logloss;回归:RMSE/MAE/R2)。

2.11 SHAP 解释(系统支持)

TreeSHAP 将模型输出分解为特征贡献:

$$ f(x)=\phi_0+\sum_{j=1}^{d}\phi_j \tag{17} $$

系统可输出 SHAP 条形图与蜂群图(特征多时耗时较高)。

2.12 符号说明

符号 含义
\(n\) 样本数量
\(d\) 特征维度
\(f_m\) 第 \(m\) 棵树
\(g_i,h_i\) 一阶/二阶梯度
\(\gamma,\lambda,\alpha\) 正则参数
\(\eta\) 学习率

3. 回归版(XGBoost Regressor)

3.1 回归目标

本系统采用平方误差目标:

$$ l(y,\hat{y})=(y-\hat{y})^2 \tag{18} $$

3.2 回归评价指标

均方误差(MSE) $$ \text{MSE}=\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y}_i)^2 \tag{19} $$

平均绝对误差(MAE) $$ \text{MAE}=\frac{1}{n}\sum_{i=1}^{n}|y_i-\hat{y}_i| \tag{20} $$

均方根误差(RMSE) $$ \text{RMSE}=\sqrt{\text{MSE}} \tag{21} $$

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

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

  • 采用 XGBoost 回归模型进行建模,逐步拟合残差并最小化平方误差。
  • 指标使用 MAE、MSE、RMSE 与 \(R^2\)(见式(19)–(22)),用于衡量预测误差与拟合优度。
  • 输出预测–真实散点、真实值-预测值折线对比、残差直方图、残差-拟合图与 Q-Q 图,以诊断误差分布与稳定性。
  • 交叉验证结果用于反映模型在不同折上的误差稳定性与泛化能力。

4. 分类版(XGBoost Classifier)

4.1 二分类 Logloss

$$ L(y,p)=-\big[y\ln p+(1-y)\ln(1-p)\big],\quad p=\sigma(F(x))=\frac{1}{1+e^{-F(x)}} \tag{23} $$

4.2 多分类 Softmax

$$ P(y=c\mid x)=\frac{\exp(F_c(x))}{\sum_{k=1}^{C}\exp(F_k(x))} \tag{24} $$

$$ L=-\sum_{i=1}^{n}\sum_{c=1}^{C}\mathbf{1}(y_i=c)\ln P(y_i=c\mid x_i) \tag{25} $$

4.3 分类评价指标

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

精确率 / 召回率 $$ \text{Precision}=\frac{TP}{TP+FP} \tag{27} $$

$$ \text{Recall}=\frac{TP}{TP+FN} \tag{28} $$

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

ROC 曲线与 AUC $$ \text{TPR}=\frac{TP}{TP+FN},\quad \text{FPR}=\frac{FP}{FP+TN} \tag{30} $$

$$ \text{AUC}=\int_0^1 \text{TPR}(\text{FPR})\,d(\text{FPR}) \tag{31} $$

4.4 多分类评估(One-vs-Rest)

对每个类别 \(c\) 构造二分类标签 \(y^{(c)}\in\{0,1\}\),分别计算 ROC/PR,并对各类别结果取宏平均:

$$ \text{AUC}_{\text{macro}}=\frac{1}{C}\sum_{c=1}^{C}\text{AUC}_c,\quad \text{AP}_{\text{macro}}=\frac{1}{C}\sum_{c=1}^{C}\text{AP}_c \tag{32} $$

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

  • 采用 XGBoost 分类模型进行建模,输出类别预测与概率/得分。
  • 分类指标包括 Accuracy、Precision、Recall、F1 与 AUC(见式(26)–(31))。
  • 提供混淆矩阵、ROC/PR 曲线、阈值-F1、阈值-TPR/FPR 与类别分布图,用于评估阈值敏感性与模型可靠性。

5. 训练与验证(公共)

5.1 训练/测试划分

若设置测试集比例为 \(t\in(0,1)\),则 $$ n_{\text{test}}=\lceil n\cdot t\rceil,\quad n_{\text{train}}=n-n_{\text{test}} \tag{33} $$

5.2 \(K\)-折交叉验证

对 \(K\) 折的评价指标取均值: $$ \bar{M}=\frac{1}{K}\sum_{k=1}^{K}M_k \tag{34} $$

6. 结果输出说明

系统输出的 Excel 通常包含:概要、预测结果、交叉验证与每折预测、混淆矩阵、特征重要性、图表清单、参数等。
图表输出按任务分为:

  • 回归:预测–真实散点、真实值-预测值折线对比、残差直方图、残差-拟合图、Q-Q 图、学习曲线、特征重要性;
  • 分类:混淆矩阵(含归一化)、ROC 曲线、PR 曲线、阈值-F1、阈值-TPR/FPR、类别分布、学习曲线、特征重要性。

论文写作建议按以下顺序组织结果:

  1. 参数与特征工程(学习率、max_depth、subsample、正则化、scale_pos_weight 等);
  2. 核心指标表(回归:MAE/MSE/RMSE/\(R^2\);分类:Accuracy/Precision/Recall/F1/AUC);
  3. 可视化图表(残差分析、ROC/PR、阈值曲线等);
  4. 交叉验证稳定性(各折指标与均值)。

在正文中给出模型公式与核心指标,详细的折内预测与参数清单可放入附录,以兼顾可读性与可复现性。

7. 实现说明(与系统一致)

  • 若环境未安装 xgboost,系统会回退到 sklearn 的 GradientBoosting 进行训练,并在参数中记录回退信息。
  • 支持 GPU 训练(tree_method=gpu_hist),若不可用会自动回退 CPU。
  • 支持早停、自动调参(Optuna 或随机搜索)、SHAP 解释与重要性类型设置(gain/weight/cover 等)。

8. 论文写作模板

8.1 回归任务模板段落(示例)

本文采用 XGBoost 回归模型对目标变量进行预测。模型以平方误差为损失函数,并通过加性树模型迭代拟合残差(见式(18))。在测试集上评估 MAE、MSE、RMSE 与 \(R^2\)(式(19)–(22)),以刻画预测误差与拟合优度。为检验模型的稳定性与误差结构,进一步绘制预测–真实散点图、真实值-预测值折线对比图以及残差直方图、残差-拟合图和 Q-Q 图;同时给出学习曲线反映随训练样本规模变化的性能趋势。交叉验证结果用于衡量模型在不同折上的泛化稳定性。

8.2 分类任务模板段落(示例)

本文采用 XGBoost 分类模型进行建模,输出类别预测与概率评分。分类性能通过 Accuracy、Precision、Recall、F1 以及 AUC 指标进行评价(式(26)–(31))。为分析不同阈值下模型行为与判别能力,绘制 ROC、PR 及阈值-F1/阈值-TPR-FPR 曲线,并给出混淆矩阵(含归一化)与类别分布图。学习曲线用于反映训练规模变化对模型性能的影响,交叉验证结果用于评估模型在不同折上的稳定性。

8.3 图表题注模板(可直接使用)

回归图表

  1. 预测–真实散点图:展示模型预测值与真实值的对应关系。
  2. 真实值-预测值折线对比图:按样本序号对比真实值与预测值趋势。
  3. 残差直方图:刻画残差的分布形态。
  4. 残差-拟合图:展示残差与预测值的关系,用于检验异方差。
  5. 残差 Q-Q 图:用于检验残差正态性。
  6. 学习曲线:反映训练样本数量变化对模型性能的影响。
  7. 特征重要性图:展示对模型贡献最大的特征。

分类图表

  1. 混淆矩阵(含归一化):展示分类正确与错误的分布结构。
  2. ROC 曲线与 PR 曲线:评估分类判别能力与正类识别性能。
  3. 阈值-F1 与阈值-TPR/FPR 曲线:用于分析阈值敏感性。
  4. 类别分布图:展示数据集中各类别样本数量分布。
  5. 学习曲线:反映训练样本数量变化对模型性能的影响。
  6. 特征重要性图:展示对模型贡献最大的特征。

可选图表(若启用 SHAP)

  • SHAP 条形图:展示全局特征贡献(平均绝对 Shapley 值)。
  • SHAP 蜂群图:展示样本层面的特征贡献分布。

8.4 表格标题模板(可直接使用)

  1. 模型参数表:列出 XGBoost 关键超参数设置与特征工程配置。
  2. 性能指标表:列出回归/分类核心评价指标(含交叉验证均值)。
  3. 交叉验证折内预测表:列出各折测试样本的真实值与预测值。
  4. 重要特征表:列出 Top-N 重要特征及其重要性分值。

8.5 示例表格(标题 + 表注格式)

表 1 XGBoost 模型参数设置
表注:列出学习率、树深度、子采样比例、正则项与是否启用早停/自动调参等信息。

参数 符号/字段 取值 说明
学习率 learning_rate 0.1 步长/收缩系数
树深度 max_depth 6 单棵树最大深度
行采样 subsample 0.8 每棵树使用的样本比例
列采样 colsample_bytree 0.8 每棵树使用的特征比例
正则(L2) reg_lambda 1.0 L2 正则强度
早停轮次 early_stopping_rounds 50 无提升则提前停止

表 2 回归性能指标(测试集)
表注:给出 MAE、MSE、RMSE 与 \(R^2\)。

指标
MAE 0.123
MSE 0.045
RMSE 0.212
\(R^2\) 0.91

表 3 分类性能指标(测试集)
表注:给出 Accuracy、Precision、Recall、F1 与 AUC。

指标
Accuracy 0.92
Precision 0.90
Recall 0.89
F1 0.89
AUC 0.95

8.6 示例图注编号格式

图 1 XGBoost 回归预测–真实散点图。
图 2 XGBoost 回归真实值-预测值折线对比图。
图 3 XGBoost 回归残差直方图。
图 4 XGBoost 回归残差-拟合图。
图 5 XGBoost 回归残差 Q-Q 图。
图 6 XGBoost 回归学习曲线。
图 7 XGBoost 回归特征重要性图。

图 8 XGBoost 分类混淆矩阵(含归一化)。
图 9 XGBoost 分类 ROC 曲线。
图 10 XGBoost 分类 PR 曲线。
图 11 XGBoost 分类阈值-F1 曲线。
图 12 XGBoost 分类阈值-TPR/FPR 曲线。
图 13 XGBoost 分类类别分布图。
图 14 XGBoost 分类学习曲线。
图 15 XGBoost 分类特征重要性图。

图 16 XGBoost SHAP 条形图(可选)。
图 17 XGBoost SHAP 蜂群图(可选)。

9. 可选实验补充(按需添加)

9.1 参数敏感性分析(可选)

对关键超参数进行网格或单变量扰动,记录评价指标 \(M\) 的变化。设共测试 \(K\) 个取值,平均性能为

$$ \bar{M}=\frac{1}{K}\sum_{k=1}^{K} M_k \tag{35} $$

稳定性可用变异系数衡量:

$$ \text{CV}=\frac{\sigma_M}{\bar{M}} \tag{36} $$

其中 \(\sigma_M\) 为 \(M_k\) 的标准差。可视化建议:绘制“参数-指标曲线”,并标注最优点。

9.2 消融实验(可选)

对比完整模型与去除某组件(如特征工程、自动调参、早停等)的性能差异:

$$ \Delta M = M_{\text{full}}-M_{\text{ablated}} \tag{37} $$

当 \(\Delta M>0\) 时,说明该组件对性能有正贡献。可使用表格汇总各组件的贡献大小。

9.3 统计显著性检验(可选)

若需比较两个模型在同一数据划分下的差异,可使用配对 \(t\) 检验。设每次重复实验的指标差为 \(d_i\),则

$$ t=\frac{\bar{d}}{s_d/\sqrt{n}} \tag{38} $$

其中 \(\bar{d}\) 为差值均值,\(s_d\) 为差值标准差,\(n\) 为重复次数。若 \(p<0.05\)(或论文要求的显著性水平),则认为差异显著。对于非正态分布指标,可改用 Wilcoxon 符号秩检验。

9.4 显著性检验结果表模板(可选)

表 4 模型对比的统计显著性检验结果
表注:在相同数据划分与重复次数下,对比两种模型的指标差异。

指标 模型A 模型B 平均差 \(\bar{d}\) t 值 p 值 显著性
RMSE 0.210 0.225 -0.015 -2.31 0.028 *
MAE 0.150 0.162 -0.012 -2.05 0.044 *
AUC 0.940 0.928 0.012 2.12 0.039 *

注:* 表示 \(p<0.05\),** 表示 \(p<0.01\)。

9.5 结果描述模板(可选)

“在相同数据划分与 5 次重复实验条件下,XGBoost 在 RMSE 上显著优于对比模型(\(p<0.05\)),AUC 亦表现出显著提升(\(p<0.05\))。这表明该模型在误差控制与判别能力方面具有统计学优势。”

9.6 实验设置模板(可选)

实验环境:操作系统、CPU/GPU、内存、Python 版本、主要库版本。
数据划分:训练/测试比例(如 8:2),是否使用交叉验证(K 折)。
特征工程:缺失处理、编码、缩放、降维/特征选择设置。
模型设置:学习率、树深度、子采样、正则项、是否启用早停与自动调参。
评价指标:回归(MAE/MSE/RMSE/\(R^2\))、分类(Accuracy/Precision/Recall/F1/AUC)。
重复次数:随机种子与重复实验次数(用于显著性检验)。

示例写法:
“实验在 Windows 11、Python 3.11、xgboost 2.x 上完成;按 8:2 划分训练/测试集,并进行 5 折交叉验证。特征工程包含缺失值删除与标准化处理。模型超参设置为 learning_rate=0.1、max_depth=6、subsample=0.8;启用早停(50 轮)。评价指标包括 RMSE 与 \(R^2\)。”

9.7 消融实验表模板(可选)

表 5 消融实验结果
表注:逐一移除组件,观察性能变化。

方案 特征工程 早停 自动调参 SHAP RMSE \(R^2\) 说明
完整模型 0.210 0.91 基准
去除特征工程 × 0.245 0.88 性能下降
去除早停 × 0.222 0.90 轻微下降
去除自动调参 × 0.230 0.89 下降
去除 SHAP × 0.210 0.91 指标不变

9.8 参数敏感性图表题注模板(可选)

图 18 学习率敏感性分析:不同 learning_rate 下的 RMSE 变化。
图 19 树深度敏感性分析:不同 max_depth 下的 \(R^2\) 变化。
图 20 子采样敏感性分析:不同 subsample 下的 F1 或 AUC 变化。

图注建议写法:“图 18 展示学习率对模型误差的影响,learning_rate 过大导致过拟合,过小则收敛较慢;最优点位于 0.05–0.1 区间。”

9.9 统计检验流程图模板(可选)

图 21 统计显著性检验流程图
步骤示例:

  1. 固定数据划分与随机种子;
  2. 重复训练/评估 \(n\) 次;
  3. 计算指标差值序列 \(d_i\);
  4. 选择检验方法(配对 t 或 Wilcoxon);
  5. 得出 p 值与显著性结论。

9.10 实验流程图模板(可选)

图 22 XGBoost 实验流程图
步骤示例:
数据预处理 → 特征工程 → 训练/验证划分 → XGBoost 训练 → 评估指标 → 可视化输出 → 交叉验证 → 结果汇总与论文撰写。

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

XGBoost 程序的核心实现位于 具体的算法/XGBoost/core/critic_calculator.py。从代码可见,它不仅覆盖训练和评估,还包含依赖回退、早停、调参和 SHAP 解释等更接近真实项目的功能。

应在 md 中明确以下几点:

  1. 环境依赖存在回退逻辑
    xgboost 包不可用,程序会回退到 sklearn 的 GradientBoosting,并在参数中记录 fallback 信息。因此论文中若强调“使用 XGBoost”,应确认实际运行未进入回退分支。

  2. 程序支持早停与验证集监控
    代码会从训练集再划出验证集用于 early stopping,因此结果不只是固定轮数训练,而是可能基于最佳轮次截停。

  3. SHAP 是真实可选输出
    启用 shap_enable 后,程序会导出 SHAP_重要性 表、shap_summary_barshap_beeswarm 图。因此论文中的解释性部分可以直接使用这些结果,而不是再单独手工复算。

  4. Excel 工作表非常完整
    结果文件通常包括:概要预测结果交叉验证CV折i_预测混淆矩阵混淆矩阵(归一化)分类指标_逐类易混类别对特征重要性图表清单参数SHAP_重要性调参结果调参 trials 等。

  5. 调参与可视化历史已被程序固化
    代码会把调参结果、试验历史与参数重要性图一起导出,因此论文中若写“经过超参数优化”,应直接引用这些程序产物。

11. 论文写作模板补充

方法描述模板:
“本文采用 XGBoost 模型开展监督学习分析。模型基于梯度提升框架构建,并利用二阶梯度信息与正则化约束提升拟合效率与泛化能力。建模过程中结合缺失处理、特征工程、训练/验证划分与 early stopping 策略完成模型训练,并通过交叉验证和学习曲线辅助判断模型稳定性。”

结果描述模板:
“程序结果目录包含概要、逐样本预测、混淆矩阵、特征重要性、交叉验证结果、调参结果及 SHAP 解释图等内容。因而论文中既可以报告核心精度指标,也可以进一步展示类别混淆结构、参数优化过程与 SHAP 特征贡献,从而提升结果章节的完整性与解释深度。”

12. 单篇终审补充

12.1 图题与表题对齐建议

  • 概要 表可写为:表X XGBoost 结果概要表。
  • 预测结果 表可写为:表X XGBoost 逐样本预测结果表。
  • 交叉验证 表可写为:表X XGBoost 交叉验证汇总表。
  • CV折1_预测CV折2_预测 可分别写为:表X XGBoost 第1折、第2折预测结果表。
  • 混淆矩阵 表可写为:表X XGBoost 混淆矩阵表。
  • 混淆矩阵(归一化) 表可写为:表X XGBoost 归一化混淆矩阵表。
  • 分类指标_逐类 表可写为:表X XGBoost 各类别分类指标表。
  • 易混类别对 表可写为:表X XGBoost 易混类别对统计表。
  • 特征重要性 表可写为:表X XGBoost 特征重要性表。
  • 图表清单 表可写为:表X XGBoost 图表索引表。
  • 参数 表可写为:表X XGBoost 参数设置表。
  • confusion_matrix.png 建议写为:图X XGBoost 混淆矩阵图。
  • confusion_matrix_norm.png 建议写为:图X XGBoost 归一化混淆矩阵图。
  • roc.png 建议写为:图X XGBoost ROC 曲线图。
  • pr.png 建议写为:图X XGBoost PR 曲线图。
  • threshold_f1.png 建议写为:图X XGBoost 阈值-F1 曲线图。
  • threshold_tpr_fpr.png 建议写为:图X XGBoost 阈值-TPR/FPR 曲线图。
  • feature_importances.png 建议写为:图X XGBoost 特征重要性图。
  • class_distribution_triptych.png 建议写为:图X XGBoost 类别分布图。

12.2 终审说明

  • 当前最适合作为终审证据的代表性目录可采用 具体的算法/XGBoost/results/XGBoost分析结果_20260329_163757。该目录同时具备结果簿、实体图、逐折预测 csv 与 repro 脚本。
  • 真实工作表为 概要/预测结果/交叉验证/CV折1_预测/CV折2_预测/混淆矩阵/混淆矩阵(归一化)/分类指标_逐类/易混类别对/特征重要性/图表清单/参数。论文若写分类实验结果,正文最适合引用 预测结果混淆矩阵分类指标_逐类特征重要性
  • 当前真实图文件稳定为 confusion_matrix.pngconfusion_matrix_norm.pngroc.pngpr.pngthreshold_f1.pngthreshold_tpr_fpr.pngfeature_importances.pngclass_distribution_triptych.png。这组图已经覆盖分类、阈值和变量重要性三类核心证据。
  • 当前复现脚本为 repro_template_20260329_163757.py,采用 SRC_FILE = 'repro_inputs/sample_classification.xlsx'。因此 XGBoost 这篇可以把 repro_inputs/... 作为标准复现口径写入附录。
  • 同目录还保留 cv_fold1_pred.csvcv_fold2_pred.csv。如果论文需要强调交叉验证逐折复核能力,这两个实体 csv 比只引用 Excel 汇总更直接。

12.3 全量强化补充

本篇终审补充绑定的真实算法目录为 具体的算法/XGBoost,本次采用的代表性结果目录为 具体的算法/XGBoost/results/XGBoost分析结果_20260329_163757

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

  • XGBoost分析结果_20260329_163757.xlsx

实测工作表为:

  • 概要
  • 预测结果
  • 交叉验证
  • CV折1_预测
  • CV折2_预测
  • 混淆矩阵
  • 混淆矩阵(归一化)
  • 分类指标_逐类
  • 易混类别对
  • 特征重要性
  • 图表清单
  • 参数

这说明当前代表性结果目录是分类场景,且已经把逐折预测同时写入 Excel 与独立 CSV。正文若强调交叉验证可复核性,可以同时引用 CV折1_预测CV折2_预测 和实体 cv_fold1_pred.csvcv_fold2_pred.csv

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

  • confusion_matrix.png
  • confusion_matrix_norm.png
  • roc.png
  • pr.png
  • threshold_f1.png
  • threshold_tpr_fpr.png
  • feature_importances.png
  • class_distribution_triptych.png

这一轮没有看到 SHAP 图或调参历史图,因此尽管代码支持相关能力,本篇引用当前目录时不能写成“本轮已导出 SHAP beeswarm 或调参试验图”。

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

  • 具体的算法/XGBoost/results/XGBoost分析结果_20260329_163757/repro_template_20260329_163757.py
  • 具体的算法/XGBoost/results/XGBoost分析结果_20260329_163757/repro_inputs/sample_classification.xlsx
  • 具体的算法/XGBoost/results/XGBoost分析结果_20260329_163757/cv_fold1_pred.csv
  • 具体的算法/XGBoost/results/XGBoost分析结果_20260329_163757/cv_fold2_pred.csv

脚本中明确写成 SRC_FILE = 'repro_inputs/sample_classification.xlsx'。因此 XGBoost 这一篇的代表性结果已经是 repro_inputs/... 相对路径口径,不同于同批次 ExtraTrees 和朴素贝叶斯的同目录 CSV 快照口径。

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

  • 当前最新结果目录 results/XGBoost分析结果_20260411_205002_507329 是回归证据集,图主要是 feature_importances.pnglearning_curve.pngpred_vs_true.pngtrue_vs_pred_line.pngresiduals_hist.pngresiduals_qq.pngresiduals_vs_fitted.png
  • 当前目录族里也有分类结果与交叉验证明细,例如 results/XGBoost分析结果_20260411_204847_362622 保留了 cv_fold1_pred.csvcv_fold4_pred.csvrepro_template_20260411_204855.py;因此文档应明确区分不同时间戳目录,不要把回归目录写成含 SHAP 或完整分类图集。
  • 代码里 shap_enable 是可选能力,但当前最新目录没有导出 SHAP 图,正文只能把 SHAP 写成“可选扩展”,不能写成这轮结果的既有产物。
  • 结果簿的写法以实际时间戳目录为准,若正文要引用交叉验证细明,应对应 交叉验证CV折i_预测 这类实际导出的 sheet,不要假设每个目录都有同样的折数。