【人工智能项目】机器学习热门项目-迁移学习进行借贷风险评估

本文介绍如何利用迁移学习处理信贷风险评估问题,特别是在现金贷业务中。鉴于现金贷业务缺乏足够历史数据,文章提出借助迁移学习,利用已有的信用贷款数据来辅助建立现金贷的风险评估模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【人工智能项目】机器学习热门项目-迁移学习进行借贷风险评估

一、业务理解

1.1 业务问题

依据给定的4万条业务A数据及4千条业务B数据,建立业务B的信用评分模型。其中业务A为信用贷款, 其特征是债务人无需提供抵押品,仅凭自己的信誉取得贷款,并以借款人信用程度作为还款保证;业务B为现金贷,即发薪日贷款payday loan,与一般的消费金融产品相比,现金贷主要具有以下五个特点:额度小、周期短、无抵押、流程快、利率高,这也是与其借贷门槛低的特征相适应的。

1.2 评估和分析场景

现金贷业务在初期采用了“闭着眼睛放贷”的高利率覆盖风险模式大量的盈利。但是这个模式并不具有可持续发展性,风控将开始成为现金贷业务中后期的关键。然而由于小额现金贷本身的客户由于收入和学历的普遍偏低,大部分人存在潜在的信用风险。

因而随着现金贷市场的成熟,建立行之有效的风控模型,为当前的重中之重。然而由于现金贷目前的产品积累时间不够,没有足够的时间来收集足够的目标变量(flag)建立模型判断来用户的信用风险。

为了帮助银行更好的发展新的无抵押业务,参赛选手可以通过迁移学习来建立新模型,帮助银行风控人员在没有足够时间积累数据的情况下开展新业务。而征信公司希望通过采用迁移学习的方法,使用小数据样本,就能建立针对不同贷款场景的风控模型。

1.3 机器学习问题

我们需要将上述场景变换为机器学习来解决,机器学习的主要思路是:通过训练集,不断识别特征,不断建模,最后形成有效的模型。
在这里插入图片描述

1.4 项目计划

本次项目计划按照机器学习实战的步骤:收集数据、数据准备,选择模型,模型训练,模型评估,参数调整,预估,分时间段依次进行完成。
在这里插入图片描述

二、数据理解

2.1 模型数据获取

本次数据集为业内开放数据集。

2.2 模型数据描述

本次的数据集共包含三个数据文件:A_train.csv,B_train.csv,B_test.csv

  • A_train.csv(feature+label):40k条,贷款期限为1-3年,平均贷款金额为几千至几万的中等额度信用贷款业务A训练数据。
  • B_train.csv(feature+label):4k条,贷款期限为7-30天,平均贷款金额为一千的小额短期贷款业务B训练数据。
  • B_test.csv(feature):13k条,属业务B测试数据。

2.3 模型数据EDA及质量分析

(1)A_train.csv
在这里插入图片描述
A_train.csv文件共计40000行,491列。我们发现数据主要由float64和int64两种数据类型,因为存在int64数据,所以我们很自然地需要想到,这些int64是不是categorical型数据,是否需要我们对此进行编码操作。数据集的大小占据内存149.9MB。

(2)B_train.csv
在这里插入图片描述
B_train.csv文件共计4000行,491列。数据集占据内存大小15MB.

(3)B_B_test.csv

在这里插入图片描述

train.csv文件共计5000行,490列。数据集占据内存大小50.3MB.

三、数据准备

3.1 数据分析

(1)对数据属性分布情况可视化
train_A.csv
在这里插入图片描述

train_B.csv
在这里插入图片描述

test.csv
在这里插入图片描述

(2)表格维度信息
在这里插入图片描述

(3)查看类别分布情况
Train_A的flag类分布情况
在这里插入图片描述

Train_B的flag类分布情况
在这里插入图片描述

通过对数据的分析,观察到训练集A一共有491个特征,数据中存在大量NA数值数据,数据的range很大,有-1,567,也有240,000.可以了解到,出题方并未对该数据进行归一化。此外,类别存在不均衡的情况,0和1的类别数量差别大。训练集B和测试集也出现了跟训练集A同样的问题。

3.2 特征工程

特征工程可以简单定义为从数据集的已有特征创建新特征的过程。寻找更好的特征、删去影响较大的冗余特征。

(1)缺失值处理
严重缺失的特征会给模型带来极大的噪音,模型在学习的过程中,会被干扰。为了增强模型的鲁棒性,我们考虑将有很大的噪音的数据进行删除,此处我们设置阈值为1%,我们将缺失的特征大于99%的特征删除。

(2)缺失值填充
对于缺失值的处理,不同的问题有不同的处理方式,有的时候我们需要对其进行删除,有的时候进行填充:
在贷款业务中,很多缺失值是有实际意义的,很多都来源于用户故意不填写,所以我们没有办法搜集这些数据,这个需要一些简单的业务理解。而针对这些情况,一个非常有效的方式是直接填充一个值,此处我们直接用-999进行填充。

(3)特征选取
首先如果两个特征是完全线性相关的,这个时候我们只需要保留其中一个即可。因为第二个特征包含的信息完全被第一个特征所包含。此时,如果两个特征同时都保留的话,模型的性能很大情况会出现下降的情况。其次也可以通过permutation_importance选择特征.也可通过模型比较来挑选比较重要的特征。

(4)特征归一化处理
为了消除特征数据之间的量纲影响,需要对其进行归一化处理,解决特征指标之间的可比性。原始数据经过归一化处理后,各个指标处于同一数量级,以便进行综合对比比较。

四、建模

4.1 模型知识

XGBoost是提升方法中的一个可扩展的机器学习系统。XGBoost在许多机器学习和数据挖掘问题中产生了广泛的影响。XGBoost成功的最重要因素就是它在任何场景下的可扩展性。XGBoost系统在单台机器上的运行速度比现有流行的解决方案快10倍以上,并可在分布式或内存限制设置中扩展到数十亿个示例。XGBoost的可扩展性是由于在它的系统实现中的一些创新,包括:

  • 为处理稀疏数据使用了一个新颖的树学习算法;
  • 理论上合理的加权分位数草图过程,能够在近似树学习中处理实例权重;
  • 平行和分布式计算使得学习更快,从而能够更快的进行模型探索;
  • 最重要的是XGBoost使用核外计算并且能够让数据科学家在台式机上处理数以亿计的示例;
  • 结合这些技术使端到端系统以最少的集群资源扩展到更大的数据。

XGBoost的基本思想是集成,即如下图所示。
在这里插入图片描述

在XGBoost里,每棵树是一个一个往里面加的,每加一个都是希望效果能够提升,下图就是XGBoost这个集成的表示(核心)。
在这里插入图片描述
一开始树是0,然后往里面加树,相当于多了一个函数,再加第二棵树,相当于又多了一个函数…等等,这里需要保证加入新的函数能够提升整体对表达效果。提升表达效果的意思就是说加上新的树之后,目标函数(就是损失)的值会下降。

如果叶子结点的个数太多,那么过拟合的风险会越大,所以这里要限制叶子结点的个数,所以在原来目标函数里要加上一个惩罚项「omega(ft)」。
在这里插入图片描述

4.2 模型建立

为了方便评估模型的效果,这里对数据集进行划分,将其划分为80%为训练,剩下20%为验证集。

建立xbgoost模型
在这里插入图片描述

4.3 模型评估

评估准确率:
在这里插入图片描述

4.4 参数调整

GridSearchCV方法对其进行参数调整,寻找最优的参数
在这里插入图片描述
在这里插入图片描述

五、评价

之后对LogisticRegression,KNeighborsClassifier,AdaBoostClassifier,
DecisionTreeClassifier,RandomForestClassifier,BaggingClassifier,ExtraTreesClassifier多个模型进行对比比较
在这里插入图片描述

相比较而言XGBOOst的性能最好

六、结论

通过本次实验,对人工智能机器学习有了一定的认识,整体思路是机器从特定大量数据中总结规律,归纳出某些特征,然后将这些知识应用到特定场景中去解决实际问题。

点赞评论收藏一条龙走起来,瓷们!!!
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mind_programmonkey

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值