信贷逾期预测
本文介绍了利用LightGBX模型进行贷款逾期预测的方法。
背景
互联网金融的核心在于风控,风控决定了互联网金融企业的竞争力。信用评分模型属于二分类模型,目标变量是客户是否“违约”,输出结果为客户“违约”概率。
数据处理
先对数据进行了主观挑选,将认为有用的数据特征挑选出来。然后,过滤掉整列数据为空的列(true表示全为空),过滤掉整列数据全部相同的列(true表示全部相同)
col = data.count() == 0 # 返回bool数组
print(col)
for i in range(len(col)):
if col[i]:
data.drop(labels=col.index[i], axis=1, inplace=True)
data.T.duplicated()
由于数据特征比较多,对挑选出的数据进行预览。查看数据缺失大于20%的值。
#加载需要的模块
import warnings
warnings.filterwarnings('ignore')
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
#导入数据
data = pd.read_csv("D:/dealdata.csv",encoding="gbk", index_col=0, low_memory=False)
#Train_data = pd.read_csv('D:/dealdata.csv', sep="\t")
check_null = data.isnull().sum().sort_values(ascending=False)/float(len(data))
print(check_null[check_null > 0.2]) # 查看缺失比例大于20%的属性。
data.head()
数据清洗,将出生日期转化为年龄,将AMT_LMT列转换为float类型。
#intdex_col为不读取文件的第一列
data = pd.read_csv("D:/dealdata.csv",encoding="gbk", index_col=0)
#将AMT_LMT列转换为float类型
data['AMT_LMT']=data['AMT_LMT'].astype(float)
#将BIRTH_DAY列为空的全部补0删除 并计算年龄
data['BIRTH_DAY']=data[<