零基础入门金融风控-贷款违约预测-Task01

2023-11-22 14:10

本文主要是介绍零基础入门金融风控-贷款违约预测-Task01,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        有幸参加了阿里云举办的零基础入门金融风控-贷款违约预测训练营。收获颇多。

        每天记录一些自己之前的知识盲点,需经常温习。

一、赛题理解

        该赛题是金融风控中关于贷款违约情况的预测。盲猜是个机器学习中监督学习的分类问题。从训练集和测试集的对比中可以得到标签label的字段。

1、首先观察训练集train.csv和testA.csv,将train.csv和testA.csv的shape分别打印出来,发现居然train.shape的列数比testA.shape的列数少两列。这不科学啊~

      

结果发现里面的n2有很多重复内容,果断删除~

删除以后的结果:

这次就对了,train.shape的列数比testA.shape的列数刚好多一个。通过对比得出,label即为isDefault

是一个明显的二分类问题,0和1两类。但是目前还不清楚0和1分别代表什么。

2、小组开会,分析了各个字段,得出的结论:

FieldDescription备注数据类型数据示例
id为贷款清单分配的唯一信用证标识本次数据的主键,申请时生成int64 
loanAmnt贷款金额具体发放的金额,因为有可能产生罚息所以是浮点数float64 
term贷款期限(year) int64 
interestRate贷款利率 float64 
installment分期付款金额与还款方式有关:先本后息、先息后本、本息float64 
grade贷款等级与个人征信有关,征信等级objectE,D,D,A
subGrade贷款等级之子级与个人征信有关,征信等级,跟上一行有信息重合,考虑删除一行objectE2,D2,D3,A4
employmentTitle就业职称已脱敏float64 
employmentLength就业年限(年)这个数据有点脏object10+ years
homeOwnership借款人在登记时提供的房屋所有权状况0:无;1:一套;2:两套int640,1,2
annualIncome年收入单位为元float64 
verificationStatus验证状态不太清楚是什么int640,1,2
issueDate贷款发放的月份贷款发放的年月object2014/1/1;2018/12/1
purpose借款人在贷款申请时的贷款用途类别已脱敏int64 
postCode借款人在贷款申请中提供的邮政编码的前3位数字在业务场景中会使用到:东三省、福建预期较多float64159,59
regionCode地区编码跟上述数据关联性位置int6448,7
dti债务收入比小额贷/收入(银行流水)float64 
delinquency_2years借款人过去2年信用档案中逾期30天以上的违约事件数业务重点考虑点float64 
ficoRangeLow借款人在贷款发放时的fico所属的下限范围业内的一个评分,有范围,5个单位为一个范围float64660
ficoRangeHigh借款人在贷款发放时的fico所属的上限范围业内的一个评分,有范围,6个单位为一个范围float64705
openAcc借款人信用档案中未结信用额度的数量笔数float64 
pubRec贬损公共记录的数量公开的违规信息,可能是法院起诉等公开信息float64 
pubRecBankruptcies公开记录清除的数量公开的违规被清除信息float64 
revolBal信贷周转余额合计循环贷float6419,723,220
revolUtil循环额度利用率,或借款人使用的相对于所有可用循环信贷的信贷金额 float64 
totalAcc借款人信用档案中当前的信用额度总数?float64 
initialListStatus贷款的初始列表状态? 0为否int640,1
applicationType表明贷款是个人申请还是与两个共同借款人的联合申请是否有共借人 0为否int640,1
earliesCreditLine借款人最早报告的信用额度开立的月份年月object 
title借款人提供的贷款名称已脱敏float64 
policyCode公开可用的策略_代码=1新产品不公开可用的策略_代码=2训练集数据均为1float641
n系列匿名特征匿名特征n0-n14,为一些贷款人行为计数特征的处理 float64 

 3、评测标准

        二分类问题很自然可以联想到混淆矩阵,进而有准确率、精确率、召回率、F1值、PR曲线、ROC曲线等一系列指标。其中,ROC曲线下的面积称为AUC(Area Under Curve,曲线下面积),该值介于0.5~1之间,且越大越好。

        天池赛题的评价标准恰好为AUC指标。计算AUC值需要sklearn.metric中的roc_auc_score函数。

        为了赛题的可解释性,需要将数据进行可视化,并且尽可能计算出相关的数据,逐步分析结果。

4、结果提交格式

        结果提交格式保留了传统的天池比赛和Kaggle比赛的提交形式,采用.csv格式进行提交。第一列为id,第二列为预测的label,即isDeafult。

        有一点需要注意,不能用pandas自动生成的index。故生成.csv文件的代码应为:pd.to_csv('submission.csv', index = False)。

5、个人关于本次比赛的初步想法        

        赛题含有强烈的金融行业的垂直属性,还需要咨询相关行业的专家分析各个字段的含义,明确可以删除的列,需要填充的列。这个训练集的特征工程比较难,且很费时。是块儿最难啃的骨头。

        二分类可选的模型很多。可以考虑先采用逻辑回归LR做个baseline形式的代码,然后逐步通过KNN、SVM、GBDT和XGBoost等算法进行训练、预测。

这篇关于零基础入门金融风控-贷款违约预测-Task01的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/410686

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al

MySQL-CRUD入门1

文章目录 认识配置文件client节点mysql节点mysqld节点 数据的添加(Create)添加一行数据添加多行数据两种添加数据的效率对比 数据的查询(Retrieve)全列查询指定列查询查询中带有表达式关于字面量关于as重命名 临时表引入distinct去重order by 排序关于NULL 认识配置文件 在我们的MySQL服务安装好了之后, 会有一个配置文件, 也就

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显