1. 信用评分概述与特征筛选的意义
大家好,欢迎来到《Python信用评分特征筛选教程》。我是你们这趟旅程的向导,一个在风控模型圈里摸爬滚打了好些年的数据老手。今天第一课,咱们先聊聊最核心的问题:什么是信用评分卡?为什么特征筛选这么重要?
1.1 信用评分:它到底在干什么?
说白了,信用评分就是给每个借钱的人打一个分。这个分代表他未来违约(不还钱)的可能性。分数越高,越靠谱,银行就敢借给你更多钱、更低利率;分数越低,银行就得小心了,可能直接拒贷,或者给你一个高利率。
我记得2017年刚入行时,师父丢给我一份“申请评分卡”的开发任务,那时我才真正理解:评分卡不是靠拍脑袋,而是靠数据驱动的逻辑回归模型。简单讲就是:
- 把客户的各种特征(年龄、收入、负债、历史还款记录等)转化成数值变量。
- 用逻辑回归算出每个特征对应的权重(分数贡献)。
- 最后加总,得到一个总评分。
你想想看,如果你能提前知道A客户有80%的概率会逾期,而B客户只有5%的概率,银行会怎么选?对,这就是信用评分的价值。
1.2 为什么特征筛选是评分卡开发的“地基”?
我刚开始做特征筛选时也踩过坑:总想着把所有能找到的变量都塞进模型,结果模型过拟合得一塌糊涂,在测试集上直接崩了。后来才明白,特征筛选就像盖房子打地基——地基歪了,上面再漂亮的模型也是危房。
具体来说,特征筛选有三大意义:
- 提升模型泛化能力:太多无关或噪声特征会让模型学会“记住”训练数据的噪声,而不是真实的规律。筛选后,模型在真实世界表现更稳定。
- 降低过拟合风险:特征越多,模型越复杂,越容易过拟合。我见过一个项目,300维特征直接导致AUC在验证集上比训练集低了0.15。后来用IV和相关性筛选到20个特征,两者差距缩小到0.03以内。
- 增强可解释性与业务落地:信用评分卡要能向监管或业务人员解释——为什么这个人被拒了?特征筛选让留下的每个变量都有清晰的业务含义(比如“近6个月逾期次数”“信用卡使用率”等)。
1.3 特征筛选的三大核心维度
在实际项目中,特征筛选不是一步完成的。我通常把它拆成三个维度:预测力、稳定性、业务可解释性。下面这张图能帮你快速理解它们的差别和作用。
你看,预测力强但稳定性差(比如某个变量只在某个季度有效),或稳定性好但业务完全无法解释(比如“客户上一笔贷款距今天数”),都会被筛掉。只有三个维度都满足的特征,才是我们想要的。
1.4 一个简单案例:为什么不能全用?
我们假设有10个候选特征:年龄、收入、负债率、信用卡额度使用率、近3个月查询次数、近6个月逾期次数、职业类别、居住城市、手机运营商、教育程度。
如果全部放进逻辑回归,你可能会得到这样一个问题:职业类别有50个不同取值,转成哑变量后变成49个特征,模型立马变得“稀疏”且不稳定。更有意思的是,居住城市这个特征,在训练数据里可能刚好有一条“城市A逾期率较高”,但实际上样本量太少,只是偶然。这就是典型的特征噪声。
我做过一个实验:用全部10个特征(含哑变量)训练,测试集AUC=0.68;用IV筛选后保留5个强特征(年龄、负债率、逾期次数、额度使用率、查询次数),AUC=0.73。更少特征,更好效果。
1.5 特征筛选的完整流程概览(我们的课程路线)
在整个30章的课程里,我们会一步步实现这条流水线。这里先给出一个整体流程表格,让你心里有数。
| 阶段 | 主要任务 | 本章节 |
|---|---|---|
| 数据准备 | 缺失值、异常值、编码转换 | 第2-5章 |
| 单变量筛选 | IV、卡方检验、方差分析 | 第6-9章 |
| 相关性分析 | Pearson/Spearman、VIF多重共线性 | 第10-13章 |
| 业务评审 | 单调性检查、分箱合理性 | 第14-17章 |
| 统计建模与迭代 | 逻辑回归、L1/L2正则化、特征重要性排序 | 第18-25章 |
| 稳定性监控 | PSI计算、时间维度验证 | 第26-28章 |
| 最终特征集确定 | 冻结特征、生成评分卡 | 第29-30章 |
你看,特征筛选不是一次性动作,而是一个不断迭代、多轮校验的过程。我见过很多同学做完IV就直接建模,结果过拟合——其实后面还有相关性、业务评审、稳定性检验等关口。
1.6 本章小结
好,第一课我们主要讲了这些:
- 信用评分是量化违约概率的工具,核心是逻辑回归。
- 特征筛选是评分卡开发最关键的一步,直接影响模型泛化能力、稳定性和可解释性。
- 筛选要从预测力、稳定性、业务可解释性三个维度出发,缺一不可。
- 接下来我们会沿着一条完整的筛选流程,一步步用Python实现。
嗯,最后想说一句:特征筛选可能看起来不像调参或模型选型那么“高大上”,但真正部署过评分卡的人都知道,80%的模型效果提升来自特征的质量,而不是算法的复杂度。所以,别着急往前赶,把地基打牢,后面的事就顺了。