2. 数据科学基础回顾:数据集、特征、标签、训练集、验证集、测试集的基本概念
在构建额度模型之前,必须统一团队对数据科学基础术语的理解。额度模型本质上是一个监督学习问题:我们利用历史借贷数据(包含已知的违约/正常结果)来训练模型,使其能够预测新申请人的风险。本章将系统梳理构成模型训练流程的五个核心概念。
2.1 数据集、特征与标签
任何监督学习项目都始于一个结构化的数据集。数据集通常以表格形式存在,每一行代表一个样本(如一位申请人),每一列代表一个属性。
- 特征(Feature):用于描述样本的输入变量,是模型进行预测的依据。在额度模型中,特征包括年龄、收入、负债比、征信查询次数等。
- 标签(Label):需要模型预测的目标变量,是监督学习的“标准答案”。在额度模型中,标签通常是“是否逾期超过90天”(二分类:0=正常,1=违约)。
额度模型实战提示:特征工程是额度模型效果的关键。原始征信数据中的“近6个月查询次数”往往比“总查询次数”更具区分度。标签定义需要与业务逾期口径严格对齐(如M3+、M6+)。
| 概念 | 额度模型示例 | 数据类型 | 作用 |
|---|---|---|---|
| 样本 | 某位申请贷款的客户 | 行记录 | 模型预测的基本单位 |
| 特征 | 年龄、收入、负债比、征信查询次数 | 数值/类别 | 模型学习的输入 |
| 标签 | 是否逾期超过90天(0/1) | 二分类 | 模型优化的目标 |
2.2 训练集、验证集与测试集
为了评估模型在未见数据上的表现,必须将原始数据集划分为三个互斥的子集。这是防止过拟合、确保模型泛化能力的核心手段。
- 训练集(Training Set):用于拟合模型参数(如逻辑回归的系数、决策树的分裂点)。模型通过训练集学习特征与标签之间的映射关系。
- 验证集(Validation Set):用于模型选择和超参数调优。在训练过程中,通过验证集评估不同参数组合的效果,选择最优模型。验证集参与模型调优决策,但不直接参与参数学习。
- 测试集(Test Set):用于最终评估模型的泛化能力。测试集在模型开发过程中严格隔离,仅在最终模型确定后使用一次,以给出无偏的性能估计。
常见误区:许多初学者将验证集和测试集混为一谈,或者反复使用测试集进行调优。这会导致测试集信息泄露,使模型性能评估过于乐观,上线后实际效果大幅下降。测试集只能使用一次!
2.3 三集划分的视觉结构
下图展示了从原始数据集到训练集、验证集、测试集的切分流程,以及各自在模型开发周期中的角色。
2.4 常见切分比例与策略
切分比例取决于数据集规模和任务特点。下表总结了不同场景下的推荐策略:
| 数据集规模 | 训练集 | 验证集 | 测试集 | 推荐策略 |
|---|---|---|---|---|
| 小规模(< 1万条) | 70% | 15% | 15% | 使用分层抽样保持标签分布一致 |
| 中等规模(1万-10万条) | 80% | 10% | 10% | 随机切分即可,注意时间顺序 |
| 大规模(> 10万条) | 90% | 5% | 5% | 验证集和测试集可适当缩小 |
| 时序数据(额度模型常见) | 按时间前60-80% | 中间10-20% | 最后10-20% | 必须按时间切分,防止未来信息泄露 |
额度模型特别提醒:金融风控数据具有强时间依赖性。如果随机切分,模型可能“看到”未来的样本分布,导致在真实上线时(面对未来数据)效果崩塌。在额度模型开发中,必须使用时间序列切分:以申请日期为基准,按时间窗口划分训练集、验证集和测试集。
2.5 时间序列切分 vs 随机切分
下图对比了随机切分与时间序列切分的核心差异,帮助理解为什么额度模型必须采用后者。
2.6 额度模型中的标签定义要点
标签定义直接影响模型的学习目标和业务价值。在额度模型中,标签设计需要遵循以下原则:
- 表现期(Performance Window):从放款日到观察截止日的时间长度。常见为6个月、12个月。表现期越长,标签越稳定,但样本量越小。
- 逾期口径:M3+(逾期超过90天)是行业通用坏账定义。M1+(逾期超过30天)可用于早期预警模型。
- 样本排除:表现期不足的样本(如刚放款1个月)不应纳入标签定义,否则会引入“假阴性”(尚未逾期但未来可能逾期)。
实战案例:某消费金融公司开发额度模型时,将标签定义为“放款后12个月内是否出现M3+逾期”。对于放款时间不足12个月的样本,直接排除在建模数据集之外。虽然损失了部分近期样本,但保证了标签的准确性和稳定性,最终模型KS值提升约0.08。
2.7 本章小结
数据集、特征、标签、训练集、验证集、测试集构成了监督学习的六块基石。在额度模型场景中,需要特别关注:
- 标签定义必须与业务逾期口径和表现期对齐。
- 切分方式必须采用时间序列切分,防止未来信息泄露。
- 测试集必须严格隔离,仅在最终评估时使用一次。
- 验证集用于超参数调优,不能替代测试集的最终评估功能。