【天池比赛】【零基础入门金融风控 Task2赛题理解】实战进行中……

2.3 代码示例

2.3.1 导入数据分析及可视化过程需要的库

python 复制代码
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import datetime
import warnings
warnings.filterwarnings('ignore')

2.3.2 读取文件

python 复制代码
#读取数据时相对路径载入报错时,尝试使用os.getcwd()查看当前工作目录
data_train = pd.read_csv(os.getcwd()+'//零基础入门金融风控-贷款违约预测//data//train.csv')
data_test_a = pd.read_csv(os.getcwd()+'//零基础入门金融风控-贷款违约预测//data//testA.csv')

运行结果:

2.3.2.1读取文件的拓展知识

  • TSV与CSV的区别:
    • 从名称上即可知道,TSV是用制表符(Tab,'\t')作为字段值的分隔符;CSV是用半角逗号(',')作为字段值的分隔符;
    • Python对TSV文件的支持: Python的csv模块准确的讲应该叫做dsv模块,因为它实际上是支持范式的分隔符分隔值文件(DSV,delimiter-separated values)的。 delimiter参数值默认为半角逗号,即默认将被处理文件视为CSV。当delimiter='\t'时,被处理文件就是TSV。
  • 读取文件的部分(适用于文件特别大的场景)
    • 通过nrows参数,来设置读取文件的前多少行,nrows是一个大于等于0的整数。
    • 分块读取
python 复制代码
data_train_sample = pd.read_csv(data_train_path,nrows=5)
print(data_train_sample)

#设置chunksize参数,来控制每次迭代数据的大小
chunker = pd.read_csv(data_train_path,chunksize=5)
for item in chunker:
    print(type(item))
    print(len(item))
    break

运行结果:

2.3.3总体了解

2.3.3.1 查看数据集的样本个数和原始特征维度
python 复制代码
data_train.shape
data_test.shape
data_train.columns

运行结果:

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

2.3.3.3 通过info()来熟悉数据类型
python 复制代码
data_train.info()

运行结果:

2.3.3.4 总体粗略的查看数据集各个特征的一些基本统计量
python 复制代码
data_train.describe()

运行结果:

| id | loanAmnt | term | interestRate | installment | employmentTitle | homeOwnership | annualIncome | verificationStatus | isDefault | ... | n5 | n6 | n7 | n8 | n9 | n10 | n11 | n12 | n13 | n14 |
| count | 800000.000000 | 800000.000000 | 800000.000000 | 800000.000000 | 800000.000000 | 799999.000000 | 800000.000000 | 8.000000e+05 | 800000.000000 | 800000.000000 | ... | 759730.000000 | 759730.000000 | 759730.000000 | 759729.000000 | 759730.000000 | 766761.000000 | 730248.000000 | 759730.000000 | 759730.000000 | 759730.000000 |
| mean | 399999.500000 | 14416.818875 | 3.482745 | 13.238391 | 437.947723 | 72005.351714 | 0.614213 | 7.613391e+04 | 1.009683 | 0.199513 | ... | 8.107937 | 8.575994 | 8.282953 | 14.622488 | 5.592345 | 11.643896 | 0.000815 | 0.003384 | 0.089366 | 2.178606 |
| std | 230940.252015 | 8716.086178 | 0.855832 | 4.765757 | 261.460393 | 106585.640204 | 0.675749 | 6.894751e+04 | 0.782716 | 0.399634 | ... | 4.799210 | 7.400536 | 4.561689 | 8.124610 | 3.216184 | 5.484104 | 0.030075 | 0.062041 | 0.509069 | 1.844377 |
| min | 0.000000 | 500.000000 | 3.000000 | 5.310000 | 15.690000 | 0.000000 | 0.000000 | 0.000000e+00 | 0.000000 | 0.000000 | ... | 0.000000 | 0.000000 | 0.000000 | 1.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
| 25% | 199999.750000 | 8000.000000 | 3.000000 | 9.750000 | 248.450000 | 427.000000 | 0.000000 | 4.560000e+04 | 0.000000 | 0.000000 | ... | 5.000000 | 4.000000 | 5.000000 | 9.000000 | 3.000000 | 8.000000 | 0.000000 | 0.000000 | 0.000000 | 1.000000 |
| 50% | 399999.500000 | 12000.000000 | 3.000000 | 12.740000 | 375.135000 | 7755.000000 | 1.000000 | 6.500000e+04 | 1.000000 | 0.000000 | ... | 7.000000 | 7.000000 | 7.000000 | 13.000000 | 5.000000 | 11.000000 | 0.000000 | 0.000000 | 0.000000 | 2.000000 |
| 75% | 599999.250000 | 20000.000000 | 3.000000 | 15.990000 | 580.710000 | 117663.500000 | 1.000000 | 9.000000e+04 | 2.000000 | 0.000000 | ... | 11.000000 | 11.000000 | 10.000000 | 19.000000 | 7.000000 | 14.000000 | 0.000000 | 0.000000 | 0.000000 | 3.000000 |

max 799999.000000 40000.000000 5.000000 30.990000 1715.420000 378351.000000 5.000000 1.099920e+07 2.000000 1.000000 ... 70.000000 132.000000 79.000000 128.000000 45.000000 82.000000 4.000000 4.000000 39.000000 30.000000

欲知后事如何,且听下回分解........................

相关推荐
王小王-1232 分钟前
基于多种机器学习的豆瓣电影分析与可视化预测评估系统
人工智能·机器学习·flask·豆瓣电影·电影评分预测·影评分析·哪吒电影评论分析
宸津-代码粉碎机4 分钟前
Spring AI企业级实战|智能记忆摘要+自动遗忘机制落地,彻底解决上下文爆炸与Token冗余
java·大数据·人工智能·后端·python·spring
乘浪初心5 分钟前
python调用API接口,免费API调取,学习如何调取API接口并反馈你输入的内容
开发语言·python·api·免费
AI玫瑰助手5 分钟前
Python模块:import导入模块与模块的搜索路径
android·开发语言·python
大山佬5 分钟前
从 bootloader 到 rootfs:嵌入式 Linux 系统的完整构建与启动链路剖析
人工智能
syc78901236 分钟前
Vibe Coding实战对比:终端迭代与可视化AI IDE的真实开发差异
大数据·ide·人工智能
aaaa954726657 分钟前
多轮实测对比,梳理适配自身开发流的AI编程工具选型心得
人工智能
傻啦嘿哟8 分钟前
一篇文章讲清楚Python的变量作用域
开发语言·python
AI科技星10 分钟前
第四卷:橡皮泥江湖(拓扑学)――诸同奥义,九同立境贯拓扑
网络·人工智能·线性代数·架构·概率论·学习方法·拓扑学
lunzi_082611 分钟前
【AI 杂谈】AI正在进入“寡头时代“——模型、资本、成本的三重壁垒
人工智能