写点什么

Datawhale 学习笔记【阿里云天池 金融风控 - 贷款违约预测】task1 赛题理解

作者:一颗小树
  • 2023-01-18
    浙江
  • 本文字数:1676 字

    阅读完需:约 5 分钟

@TOC

赛题数据及背景

阿里云天池学习赛【金融风控-贷款违约预测】https://tianchi.aliyun.com/competition/entrance/531830/introduction

学习目标

1.理解赛题数据和目标 2.清楚评分体系

赛题概况

比赛要求参赛选手根据给定的数据集,建立模型,预测金融风险。赛题以预测金融风险为任务,数据集报名后可见并可下载,该数据来自某信贷平台的贷款记录,总数据量超过 120w,包含 47 列变量信息,其中 15 列为匿名变量。为了保证比赛的公平性,将会从中抽取 80 万条作为训练集,20 万条作为测试集 A,20 万条作为测试集 B,同时会对 employmentTitle、purpose、postCode 和 title 等信息进行脱敏。

数据概况

  • 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,为一些贷款人行为计数特征的处理

预测指标

竞赛采用 AUC 作为评价指标。AUC(Area Under Curve)被定义为 ROC 曲线 下与坐标轴围成的面积。

预测指标的直接引入

因个人专业知识有限,不能很好的给大家解释 AUC 的定义小白如何快速进行对自己预测的结果进行评价是个很重要的问题这里推荐给大家一个如何快速进行评价的方法引入 sklearn.metrics 里面提供了大部分评价的方法可以直接进行预测结果的评估

sklearn 里的常见评测指标


Precision = TP/(TP+FP)即正确预测的正例数 /预测正例总数[^2]:召回率:实际正样本中,分类器能预测出多少。与真正率相等,可理解为查全率。Recall = TP/(TP+FN)即正确预测的正例数 /实际正例总数[^3]:真阳性(TP): 预测为正, 实际也为正[^4]:假阴性(FN): 预测为负,实际为正[^5]:假阳性(FP): 预测为正, 实际为负




本次比赛使用的评价指标是 roc_auc 使用方法如下


import numpy as npfrom sklearn.metrics import roc_auc_scorey_true = np.array([0, 0, 1, 1])y_scores = np.array([0.1, 0.4, 0.35, 0.8])roc_auc_score(y_true, y_scores)# 评价分数为0.75
复制代码


其他评价指标函数的详细信息,可点击对应函数名称查阅详细的解释文档,这里就不再赘述

经验总结

  • 在开始比赛之前对赛题的目标,评价指标进行了解。

  • 比赛什么时候开始,什么时候结束,什么时候换 B 榜数据。A 榜:提交预测结果文件,返回分数进行排名,仅作初步判断 B 榜:最终线上成绩与排名以 B 榜成绩与排名为准采用 AB 榜的主要原因是考察机器学习模型的泛化能力简单来说就是测试集被划分成 A 与 B,提交“测试集”的所有预测结果(包含 A 和 B),排行榜上仅显示测试集 A 的成绩,即 A 榜,最终成绩还是需要看 B 榜成绩。

  • 和该比赛有没有类似的比赛可以参考借鉴。

  • 线上提交结果的次数往往是有限的,提前了解每日可以提交的次数,有的比赛可能会限制总提交次数。

  • 比赛使用的是什么评价指标,可以选择相同的评价指标作为线下验证的方式。

  • 可以将训练集按照比例再次划分为训练集与测试集,提升模型的泛化能力。


ENDby xiaoc【Datawhale 学习群名称:南山有鸢】

发布于: 刚刚阅读数: 5
用户头像

一颗小树

关注

计算机科学与技术 | 大三在读程序员 2021-04-28 加入

【坐标】浙江温州 【技能】python | c++ | js | html 【技术爱好】探究有趣有价值的技术 【游戏爱好】王者荣耀、多多自走棋 【树言树语】敢于仰望星空的人,眼中自有光芒在。

评论

发布
暂无评论
Datawhale学习笔记【阿里云天池 金融风控-贷款违约预测】task1 赛题理解_机器学习_一颗小树_InfoQ写作社区