【风控】非平衡样本问题的定义和解决办法

定义

各类别的出现概率不均衡的情况

如信用风险中正常用户远多于逾期、违约用户;流失风险中留存用户多于流失用户

隐患

降低对少类样本的灵敏性。但我们建模就是要找到这少类样本,所以必须对数据加以处理,来提高灵敏性。

解决方案

1. 过采样

对坏的人群提高权重,即复制坏样本,提高坏样本的占比。

优点:

简单,对数据质量要求不高

缺点:

容易过拟合

2. 欠采样

对好的人群降低权重,通过抽样,降低好样本的占比

优点:

简单,对数据质量要求不高

缺点:

丢失重要信息

3. Smote 合成少数过采样技术

优点:

不易过拟合,保留信息

缺点:

不能对有缺失值和类别变量做处理(原始smote方法)

解决办法:可以将类别型进行编码或聚类,对缺失值进行处理后再使用

操作方法:

1. 最邻近算法,计算出每个少数类样本的k个近邻

对于每个违约样本,计算出其k个近邻违约样本

2. 从k个近邻中随机挑选n个样本进行随机线性插值   (n<=k)

  • 随机  降低过拟合风险
  • 线性  保证方法高效简单(见下方公式)

3. 构造新的少数类样本

New = xi + rand(0,1) * (yj - xi) , j = 1,2,...,n

其中xi为少类中的一个观测点,yj为k个邻近中随机抽取的样本

 

上万的样本,5%左右违约率可以了,不需做以上处理。

 

或者使用带权重的对于样本的考量,比如从业务的角度,出现一个坏的,会抵消20个号的影响,则可以认为好坏比为20比1

4. 将新样本与原数据合成,产生新的训练集

 

在冷启动时,没有好坏客户的数据,一般用通过率来验证模型的好坏。不能过高,也不能很低。

 

posted @   萝莉巴索小布丁  阅读(670)  评论(0编辑  收藏  举报
编辑推荐:
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
阅读排行:
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· 程序员转型AI:行业分析
· 深入集成:使用 DeepSeek SDK for .NET 实现自然语言处理功能
· 为DeepSeek添加本地知识库
· .NET程序员AI开发基座:Microsoft.Extensions.AI
点击右上角即可分享
微信分享提示