1. 课程导论:为什么需要关注训练集切分?LightGBM 简介与课程目标
1.1 为什么训练集切分如此重要?
在额度策略建模中,训练集切分并非简单的“随机抽 70%”。错误的切分方式会直接导致模型在线上表现严重偏离离线评估结果,造成授信损失或风险失控。核心原因在于:信贷数据天然具有时间序列依赖性与样本分布漂移。
关键认知: 额度策略模型的目标是预测未来的客户表现,而非拟合历史。训练集与验证集必须模拟“用过去预测未来”的真实场景。
常见的切分陷阱包括:
- 随机切分导致时间穿越: 用 2024 年的样本预测 2023 年的表现,高估模型效果。
- 忽视样本量级差异: 坏样本占比极低(<5%)时,简单随机切分可能使验证集坏样本数为 0。
- 特征与标签时间窗口错位: 切分时未对齐观察点与表现期,引入未来信息。
| 切分方式 | 适用场景 | 常见风险 |
|---|---|---|
| 随机切分 | 独立同分布数据(极少见) | 时间穿越、分布偏移 |
| 时间序列切分 | 信贷、风控、时序预测 | 样本量不足时验证集不稳定 |
| 分层切分 | 样本不平衡(如坏账率 2%) | 未考虑时间顺序 |
| 组合切分 | 额度策略建模(推荐) | 实现复杂度较高 |
1.2 LightGBM 简介:为什么是它?
LightGBM 是微软开源的梯度提升框架,在信贷额度策略建模中已成为工业界标准选择。其核心优势在于:
- Leaf-wise 生长策略: 相比 Level-wise 的 XGBoost,收敛更快,适合大规模样本。
- 原生类别特征支持: 无需手动 One-Hot 编码,直接处理职业、地区等离散变量。
- 直方图算法: 内存占用低,训练速度比 XGBoost 快 3-5 倍。
- 内置早停与验证机制: 配合正确的切分策略,可有效防止过拟合。
课程前提: 本课程假设学员已掌握 LightGBM 基础 API 调用。我们将重点聚焦在切分策略如何影响模型效果,而非基础语法。
1.3 课程目标与学习路径
本课程共 30 章,从基础切分原理到工业级流水线实现,系统解决额度策略建模中的切分难题。完成本课程后,你将能够:
- 诊断现有切分问题: 识别时间穿越、样本泄露、分布偏移等常见错误。
- 设计正确切分策略: 根据业务场景选择时间序列切分、分层切分或组合切分。
- 实现自动化切分流水线: 使用 Python 与 LightGBM 构建可复现的切分与验证流程。
- 量化切分对模型效果的影响: 通过对比实验证明切分策略带来的 AUC 与 KS 差异。
重要提示: 本课程所有代码示例均基于 LightGBM 4.x 版本。请确保你的环境已安装
lightgbm>=4.0.0。切分逻辑与版本无关,但 API 参数可能略有差异。
1.4 先修知识与环境准备
| 类别 | 具体要求 |
|---|---|
| Python 基础 | 熟练使用 pandas、numpy、sklearn 进行数据处理 |
| 机器学习基础 | 理解过拟合、交叉验证、AUC/KS 等概念 |
| LightGBM 基础 | 能调用 LGBMClassifier 完成训练与预测 |
| 环境要求 | Python 3.8+,lightgbm>=4.0.0,pandas>=1.3.0 |
快速验证环境: 运行以下代码检查 LightGBM 版本:
import lightgbm as lgb
print(lgb.__version__) # 应输出 4.x.x