0.概述
机器学习模型,是要学得数据中的分布规律,然后利用数据分布规律进行预测。我们的数据以特征为基本的表现形式,这些特征有的是有用的,有的是没有用的,建模之前进行的探索性数据分析,就是为了找出跟预测事物相关的特征,而进行的对数据的必要初步了解。
因此第一步,就是要看有哪些特征,分布如何,然后做合适的假设。尽管现在特征工程都在走形式化,流程化,但能对特征与目标之间关系的理性的规律性认识,仍然是机器学习建模中宝贵的经验。特别是金融中,要求可解释性强的模型,传统机器学习模型仍然占主导地位,对特征背后的意义与预测目标之间的关系要求更高。
1.数据总览
利用pandas,可以很方便的看到数据概况。
data_test_a.shape
# (200000, 48)
data_train.shape
# (800000, 47)
data_train.columns
# Index(['id', 'loanAmnt', 'term', 'interestRate', 'installment', 'grade',
# 'subGrade', 'employmentTitle', 'employmentLength', 'homeOwnership',
# 'annualIncome', 'verificationStatus', 'issueDate', 'isDefault',
# 'purpose', 'postCode', 'regionCode', 'dti', 'delinquency_2years',
# 'ficoRangeLow', 'ficoRangeHigh', 'openAcc', 'pubRec',
# 'pubRecBankruptcies', 'revolBal', 'revolUtil', 'totalAcc',
# 'initialListStatus', 'applicationType', 'earliesCreditLine', 'title',
# 'policyCode', 'n0', 'n1', 'n2', 'n2.1', 'n4', 'n5', 'n6', 'n7', 'n8',
# 'n9', 'n10', 'n11', 'n12', 'n13', 'n14'],
# dtype='object')
也可以利用info方法,查看特征数值类型
data_train.info()
特征可以分为两种类型,类别特征与数值特征,数值特征包括连续数值特征与离散数值特征。
2.特征分析
查看一下具体的列名,赛题理解部分已经给出具体的特征含义,这里为了方便阅读,列举一下:
- 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,为一些贷款人行为计数特征的处理
以上加粗部分,是个人觉得比较重要的特征。