一、基于LightGBM实现银行客户信用违约预测
题目地址:Coggle竞赛
1.赛题介绍
信用评分卡(金融风控)是金融行业和通讯行业常见的风控手段,通过对客户提交的个人信息和数据来预测未来违约的可能性。对客户进行信用评分是一个常见的分类问题。
在本次赛题中需要参赛选手建立机器学习模型来预测申请人是“好”还是“坏”客户,与其他任务不同,没有给出“好”或“坏”的定义。 您应该使用一些技术,例如年份分析来构建您的标签。
2.数据介绍
赛题包含两部分训练集和测试集,选手需要在训练集上进行搭建模型,然后在测试集进行预测。
- train.csv,训练集
- test.csv,测试集
- sample_submission.csv,测试集提交样例
数据字段介绍如下:
- ID,客户唯一标识
- Gender,客户性别
- Age,客户年龄
- Region_Code,地区代码
- Occupation,客户职业
- Channel_Code,客户渠道代码
- Vintage,客户服务月份
- Credit_Product,信贷产品类型
- AvgAccountBalance,客户最近12个月平均账户余额
- Is_Active,客户最近3个月是否活跃
3.提交格式
评分使用准确率进行评分,准确率值越大越好。
- 实操方案不允许使用外部数据集,不允许使用任何外部预训练模型。
- 实操方案需要在指定平台进行评分,提交csv格式。
提交格式样例:
ID,Target
AXM2EH3R,1
8ETNJAUW,1
VCSJTEPW,0
9EOYOOHV,0
4.总体思路
- 对缺失值进行处理,原本想全删掉,结果test也有,就填充了;
- 对离散值处理,直接分类,离散数据Encoder;
- 数据EDA,主要是确定各特征分布,其中离散的太多,时间太久就取消了;
- 使用lightGBM建立模型并训练;
- 保存结果并提交。
学习自:
- 江某1111号机数据Encode方式,非常方便。
- 江某1111号机 基于LightGBM实现银行客户认购产品预测
二、数据载入
1.数据读取
通过pandas读取数据
import pandas as pd
import numpy as np
df=pd.read_csv("data/data207852/train.csv")
test=pd.read_csv("data/data207852/test.csv")
test.head(10)
.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
ID | Gender | Age | Region_Code | Occupation | Channel_Code | Vintage | Credit_Product | Avg_Account_Balance | Is_Active | |
---|---|---|---|---|---|---|---|---|---|---|
0 | AXM2EH3R | Female | 43 | RG284 | Self_Employed | X3 | 26 | Yes | 1325325 | Yes |
1 | 8ETNJAUW | Female | 46 | RG282 | Self_Employed | X2 | 14 | No | 634489 | No |
2 | VCSJTEPW | Female | 28 | RG254 | Self_Employed | X1 | 15 | No | 2215655 | No |
3 | 9EOYOOHV | Male | 58 | RG265 | Other | X3 | 15 | Yes | 925929 | Yes |
4 | S4B53OKJ | Male | 75 | RG260 | Other | X3 | 111 | No | 721825 | Yes |
5 | 3DTSVD9Y | Female | 51 | RG268 | Self_Employed | X1 | 57 | No | 490345 | No |
6 | 8WYWQUUX | Male | 32 | RG279 | Salaried | X1 | 33 | No | 650483 | No |
7 | FPQTNHGY | Female | 38 | RG270 | Salaried | X1 | 33 | NaN | 369777 | No |
8 | UXCKDQ34 | Male | 56 | RG254 | Self_Employed | X2 | 62 | Yes | 2406880 | Yes |
9 | CFTGOZHH | Female | 29 | RG283 | Salaried | X1 | 20 | No | 659053 | No |
df.head(10)
本文正在参加基于LightGBM实现银行客户信用违约预测