美文网首页
Kaggle---信用卡客户违约预测(1)

Kaggle---信用卡客户违约预测(1)

作者: fan的心情记录 | 来源:发表于2020-02-22 22:14 被阅读0次

第一个项目决定用kaggle中的预测数据集来进行入门。

将kaggle数据下载下来 ,共三个文件夹

sampleSubmission 文件是提交的格式案例。train表示训练集,而test文件是测试集。

这是比赛官网给出的25个变量含义解释:

ID-每个客户的ID

LIMIT_BAL-以新台币计的给定信用额度(包括个人和家庭/辅助信用额)

性别 -性别(1 =男性,2 =女性)

教育 -(1 =研究生院,2 =大学,3 =高中,4 =其他,5 =未知,6 =未知)

婚姻 -婚姻状况(1 =已婚,2 =单身,3 =其他)

年龄 -岁

PAY_0- 2005年9月的还款状态(-1 =正确付款,1 =延迟一个月,2 =延迟两个月,... 8 =延迟八个月,9 =延迟九个月,以上)

PAY_2- 2005年8月的还款状态(与上述金额相同)

PAY_3- 2005年7月的还款状态(与上述金额相同)

PAY_4- 2005年6月的还款状态(与上述金额相同)

PAY_5- 2005年5月的还款状态(与上述金额相同)

PAY_6- 2005年4月的还款状态(与上述金额相同)

BILL_AMT1- 2005年9月的对帐单金额(新台币)

BILL_AMT2- 2005年8月的对帐单金额(新台币)

BILL_AMT3- 2005年7月的帐单金额(新台币)

BILL_AMT4- 2005年6月的对帐单金额(新台币)

BILL_AMT5- 2005年5月的对帐单金额(新台币)

BILL_AMT6- 2005年4月的对帐单金额(新台币)

PAY_AMT1- 2005年9月的先前付款金额(新台币)

PAY_AMT2- 2005年8月的先前付款金额(新台币)

PAY_AMT3- 2005年7月的先前付款金额(新台币)

PAY_AMT4- 2005年6月的先前付款金额(新台币)

PAY_AMT5- 2005年5月的先前付款金额(新台币)

PAY_AMT6- 2005年4月的先前付款金额(新台币)

default.payment.next.month-默认付款(1 =是,0 =否)

default.payment.next.month这个变量即为预测变量。

由于测试集用来测试,因此测试集中不包含default.payment.next.month这个变量。

利用python来对数据进行简单了解。首先将数据导入如下:train,test分别为训练集和测试集.

        train=pd.read_csv("D:\working learning\jianshu\credit-card\Credit_Card_train.csv")

        test=pd.read_csv("D:\working learning\jianshu\credit-card\Credit_Card_test.csv")

        针对训练集来进行数据探索:

        train.head()可以用来观察前面几行数据

        train.info()来探查列的情况

可以看出没有空值,训练集共有2w条数据,无需对缺失值进行处理。

再对每个变量进行描述统计分析。

train.describe()返回了每列数据的基本描述统计情况:

id为客户标识,不纳入模型进行分析。主要对后面的变量进行分析。LIMIT_BAL-以新台币计的给定信用额度

train["LIMIT_BAL"].describe()

信用额度描述统计

可以看出,信用额度最低为1w,最高为100w

        train["SEX"].value_counts() 来观察sex的值的分布。女性的数量大于男性的数量。

1 =男性,2 =女性

对教育变量进行观测。1 =研究生院,2 =大学,3 =高中,4 =其他,5 =未知,6 =未知。因此,可以得知大部分为研究生和大学生。取值为0,5,6的样本没法解释,且样本量不大,因此,将这些样本都归为其他。

train.dropna(axis=0,how='all') #将全部为空的行进行删除

train.loc[train["EDUCATION"]==0,"EDUCATION"]=4

train.loc[train["EDUCATION"]==5,"EDUCATION"]=4

train.loc[train["EDUCATION"]==6,"EDUCATION"]=4

上述三串代码将 取值为0,5,6的值替换为了4 经过替换后,EDUCATION列的取值分布如下:

EDUCATION

1,2,3,4 分别为研究生 大学生 高中生 其他

将结婚变量做同样的处理,0替换为3 

MARRIAGE(1 =已婚,2 =单身,3 =其他)

观察年龄,最小年龄为21,最大年龄为79.没有异常值

AGE    

-1 =正确付款,1 =延迟一个月,2 =延迟两个月,... 8 =延迟八个月,9 =延迟九个月,以上

train[train["PAY_0"]==0] 显示PAY_0=0的数据行

观察数据发现PAY_系列变量存在-2以及0这个没法解释的值,把-2以及0归为一类,全部设置为0.我们认为这类数据没有代表性,作为其他特征来单独处理。

train.loc[train["PAY_6"]==-2,"PAY_6"]=0

对其他变量观察其分布后发现没有需要清洗的部分。把清洗好的数据进行保存,train.to_csv("train1.csv")

保存为train1的csv文件 便于下次读取分析。

train.to_csv("train2.csv",index=None) 保存成的文件不会有索引列

相关文章

  • Kaggle---信用卡客户违约预测(1)

    第一个项目决定用kaggle中的预测数据集来进行入门。 将kaggle数据下载下来 ,共三个文件夹 sampleS...

  • Kaggle---信用卡客户违约预测(2)

    参考:https://blog.csdn.net/zllnau66/article/details/8174279...

  • 信用贷款违约预测

    项目背景:依据客户的信用卡信息,分期付款信息,信用局信息等预测客户贷款是否会违约。分析流程:首先对数据进行可视化探...

  • 违约金涨价了?盘点各大行信用卡违约金收取标准!

    近期,广发银行突发公告,调整广发信用卡逾期还款违约金的收取标准,引起媒体关注。 根据广发银行公告,“违约金将按客户...

  • 贷款客户违约预测模型

    背景:根据已有贷款客户的还款情况数据,以预测客户是否违约,提前预警。数据:某融资担保公司所拥有的数据,包括基本身份...

  • 常见信用风险模型

    常见的信用风险模型有下面三种: Application(申请评分)模型 通过客户申请时的信息,预测客户将来发送违约...

  • Kaggle: Home Credit Default Risk

    项目背景: 1、目的:通过数据集提供的相关数据,预测客户贷款是否违约2、数据集介绍:一共有8个数据集,包括1个主训...

  • 评分卡模型

    信用评分卡分类A卡:申请评分卡,侧重贷前,在客户获取期,建立信用风险评分,预测客户带来违约风险的概率大小;B卡:行...

  • 13-特征工程之金融反欺诈

    1.本项目需解决的问题 本项目通过利用信用卡的历史交易数据,进行机器学习,构建信用卡反欺诈预测模型,提前发现客户信...

  • 深度学习信用评分卡模型

    深度学习模型概述 深度学习网络用于违约预测

网友评论

      本文标题:Kaggle---信用卡客户违约预测(1)

      本文链接:https://www.haomeiwen.com/subject/zupcqhtx.html