【阿里云天池初体验】1.赛题理解 | 金融风控之贷款违约预测挑战赛

​​​​前言

1.1 赛题背景

1.2 数据介绍

1.3 评估指标

1.4 赛题分析

总结


前言

本次比赛是Datawhale与天池联合发起的0基础入门系列赛事第四场 —— 零基础入门金融风控之贷款违约预测挑战赛,也是本人第一次接触数据科学竞赛,希望通过博客的方式记录学习过程,与大家共同学习、进步!

项目地址:https://github.com/datawhalechina/team-learning-data-mining/tree/master/FinancialRiskControl

比赛地址:https://tianchi.aliyun.com/competition/entrance/531830/introduction


1.1 赛题背景

在金融领域,无论是投资理财还是借贷放款,风险控制永远是是金融业务的核心组成部分,其中信贷风控又是整个风控领域体量最大、挑战最大的类型。

传统的信贷风控主要靠资深从业人员依靠自身的经验设置的专家规则。随着统计学、大数据、机器学习等技术不断渗透,现代信用风控越来越偏向引入AI算法的手段来得以解决风控问题。

简言之,如何基于贷款申请人的数据信息,准确区别违约风险用户,成为金融领域提供更为精准的风控服务的关键。

 

1.2 数据介绍

本次比赛中使用的数据来自某信贷平台的贷款记录,总数据量超过120w,包含47列变量信息,其中15列为匿名变量。为了保证比赛的公平性,将会从中抽取80万条作为训练集,20万条作为测试集A,20万条作为测试集B,同时会对employmentTitle、purpose、postCode和title等信息进行脱敏。具体字段如下所示:

Field

Description

id

为贷款清单分配的唯一信用证标识

loanAmnt

贷款金额

term

贷款期限(year)

interestRate

贷款利率

installment

分期付款金额

grade

贷款等级

subGrade

贷款等级之子级

employmentTitle

就业职称

employmentLength

就业年限(年)

homeOwnership

借款人在登记时提供的房屋所有权状况

annualIncome

年收入

verificationStatus

验证状态

issueDate

贷款发放的月份

purpose

借款人在贷款申请时的贷款用途类别

postCode

借款人在贷款申请中提供的邮政编码的前3位数字

regionCode

地区编码

dti

债务收入比

delinquency_2years

借款人过去2年信用档案中逾期30天以上的违约事件数

ficoRangeLow

借款人在贷款发放时的fico所属的下限范围

ficoRangeHigh

借款人在贷款发放时的fico所属的上限范围

openAcc

借款人信用档案中未结信用额度的数量

pubRec

贬损公共记录的数量

pubRecBankruptcies

公开记录清除的数量

revolBal

信贷周转余额合计

revolUtil

循环额度利用率,或借款人使用的相对于所有可用循环信贷的信贷金额

totalAcc

借款人信用档案中当前的信用额度总数

initialListStatus

贷款的初始列表状态

applicationType

表明贷款是个人申请还是与两个共同借款人的联合申请

earliesCreditLine

借款人最早报告的信用额度开立的月份

title

借款人提供的贷款名称

policyCode

公开可用的策略_代码=1新产品不公开可用的策略_代码=2

n系列匿名特征

匿名特征n0-n14,为一些贷款人行为计数特征的处理

 

1.3 评估指标

本次比赛为二分类问题,主要采用的指标为AUC(Area Under Curve),还包含其他相关指标:混淆矩阵、准确率、精确率、召回率、F1 Score、ROC和金融分风控预测中常见的评估指标KS(Kolmogorov-Smirnov)。

以下对AUC的含义进行一些具体的说明:

  • AUC只反映模型对正负样本排序能力的强弱,对score的大小和精度没有要求;
  • AUC越高,模型排序能力越强。理论上,当模型把所有正样本都排在负样本之前时,AUC为1,是理论的最大值。例如有100个样本,其中有20个正样本,80个负样本,我们通过模型给每个样本打分,如果正样本的score/probability都高于所有负样本,则AUC为最高值1。

AUC等评估指标在sklearn中有现成的函数包可以方便调用。

 

1.4 赛题分析

本次任务的特征已经直接给出,因此不会涉及到特别的特征抽取工作,接下来的任务主要应该是数据的预处理(缺失值、异常值、探索性分析等等)和分类模型的使用。下面对常见的分类模型进行简单的介绍:

  • 常见分类算法:朴素贝叶斯算法、决策树、逻辑回归、SVM、KNN算法等;
  • 集成学习:随机森林、GBDT、Adaboost、XGBoost、LightGBM、Catboost等;
  • 神经网络:MLP多层感知机、深度学习网络等。

对于本次任务,由于数据量较大,可以考虑使用深度学习算法,但初期主要精力将放在机器学习算法上。根据经验和赛题特点,集成学习,尤其是XGBoost、LightGBM、CatBoost等算法的效果应该会比较好。

最后,为了让模型的效果更好、预测精度更好,还可以加上模型融合,不过在实际应用场景中需要综合考虑算法的效率、模型效果等方面的要求。


总结

完成好一个机器学习任务不仅要关注于模型和调参,还需要在初期理解好数据背后所蕴含的知识,这会对后期的特征选择和数据挖掘提供很大的帮助。磨刀不误砍柴工!

你可能感兴趣的:(机器学习,数据挖掘)