zoukankan      html  css  js  c++  java
  • 用户贷款风险预测—数据探索

    竞赛地址:http://www.pkbigdata.com/common/cmpt/%E7%94%A8%E6%88%B7%E8%B4%B7%E6%AC%BE%E9%A3%8E%E9%99%A9%E9%A2%84%E6%B5%8B_%E8%B5%9B%E4%BD%93%E4%B8%8E%E6%95%B0%E6%8D%AE.html

    数据探索:

    比赛一共提供五张表,分别是:

      训练数据:用户基本属性,银行流水记录,用户浏览行为,信用卡账单记录,放款时间,是否逾期

      测试数据:用户基本属性,银行流水记录,用户浏览行为,信用卡账单记录,放款时间,用户ID     最后预测这些用户ID是否会逾期

    一、用户基本属性

    数据一共55596条,包括六个字段(ID,性别,职业,教育程度,婚姻状况,户口类型)可以试着探索各个属性与是否逾期的关系

    五个属性的数量分布

    fig,ax = plt.subplots(2,3)
    fig.set_size_inches(20,12)
    p = sns.color_palette()
    ax[0][0].bar(训练基本属性表.iloc[:,1].value_counts().index,训练基本属性表.iloc[:,1].value_counts(),color = p[0])
    ax[0][0].set_xlabel(训练基本属性表.iloc[:,1].value_counts().name)
    
    ax[0][1].bar(训练基本属性表.iloc[:,2].value_counts().index,训练基本属性表.iloc[:,2].value_counts(),color = p[1])
    ax[0][1].set_xlabel(训练基本属性表.iloc[:,2].value_counts().name)
    
    ax[0][2].bar(训练基本属性表.iloc[:,3].value_counts().index,训练基本属性表.iloc[:,3].value_counts(),color = p[2])
    ax[0][2].set_xlabel(训练基本属性表.iloc[:,3].value_counts().name)
    
    ax[1][0].bar(训练基本属性表.iloc[:,4].value_counts().index,训练基本属性表.iloc[:,4].value_counts(),color = p[3])
    ax[0][0].set_xlabel(训练基本属性表.iloc[:,1].value_counts().name)
    
    ax[1][0].set_xlabel(训练基本属性表.iloc[:,4].value_counts().name)
    
    ax[1][1].bar(训练基本属性表.iloc[:,5].value_counts().index,训练基本属性表.iloc[:,5].value_counts(),color = p[4])
    ax[1][1].set_xlabel(训练基本属性表.iloc[:,5].value_counts().name

    性别中1的数量明显更多,职业中2的职业也更多,受教育程度更多是3,4,婚姻状况更多是1,3,户口类型较为平均

    合并属性表和是否逾期表,查看属性与最终是否逾期之间有无明显关系

    是否逾期表中的数据数量也是55596条,取值分别是0,1  其中0的标签数量明显多于1

    看看用户的属性不同,逾期的比例是不是也不同,这里使用了逾期率

     

    根据前面我们知道:性别中1的数量明显更多,职业中2的职业也更多,受教育程度更多是3,4,婚姻状况更多是1,3,户口类型较为平均

    在逾期情况中发现,性别未知的逾期比例最高,2职业最多但是逾期最少,估计是白领。婚姻状况最多是1,3,逾期中最高的是0,5估计是离异等

    以上就是全部的属性这个表的分析,接下来看看别的表

     二、银行流水记录

    银行流水记录表,表中主要是用户支出收入以及工资收入情况,汇总用户的这段时间的总收入总支出合并到前面的统计属性表中去,主要的明细还是支出,数据一共六百多万条

    #统计每个用户的支出,收入,工资收入合并到属性表中去
    用户支出 = 训练银行流水记录表[训练银行流水记录表['交易类型'] == 1].groupby('用户ID',as_index=False)['交易金额'].agg({'支出次数':np.size,'支出总金额':np.sum})
    用户收入 = 训练银行流水记录表[训练银行流水记录表['交易类型'] == 0].groupby('用户ID',as_index=False)['交易金额'].agg({'收入次数':np.size,'收入总金额':np.sum})
    工资收入 = 训练银行流水记录表[训练银行流水记录表['工资收入标记'] == 1].groupby('用户ID',as_index=False)['交易金额'].agg({'工资收入次数':np.size,'工资总金额':np.sum})
    统计属性银行流水表 = pd.merge(统计属性表,用户支出,how='left')
    统计属性银行流水表 = pd.merge(统计属性银行流水表,用户收入,how='left')
    统计属性银行流水表 = pd.merge(统计属性银行流水表,工资收入,how='left')

    并不是每个用户都有这些数据,所以记得连接时候要用left啊,然后缺失值我们用0填充

    #看看支出,收入,工资收入与是否逾期的关系
    fig,ax = plt.subplots(2,3)
    fig.set_size_inches(18,12)
    ax[0][0].scatter(统计属性银行流水表['样本标签'],统计属性银行流水表['支出次数'],color = p[0])
    ax[0][0].set_xlabel('支出次数')
    ax[1][0].scatter(统计属性银行流水表['样本标签'],统计属性银行流水表['支出总金额'],color = p[1])
    ax[1][0].set_xlabel('支出总金额')
    
    ax[0][1].scatter(统计属性银行流水表['样本标签'],统计属性银行流水表['收入次数'],color = p[2])
    ax[0][1].set_xlabel('收入次数')
    ax[1][1].scatter(统计属性银行流水表['样本标签'],统计属性银行流水表['收入总金额'],color = p[3])
    ax[1][1].set_xlabel('收入总金额')
    
    ax[0][2].scatter(统计属性银行流水表['样本标签'],统计属性银行流水表['工资收入次数'],color = p[4])
    ax[0][2].set_xlabel('工资收入次数')
    ax[1][2].scatter(统计属性银行流水表['样本标签'],统计属性银行流水表['工资总金额'],color = p[5])
    ax[1][2].set_xlabel('工资总金额')

     在逾期1中发现收入次数和收入总金额明显少于0的,而在支出中相比差别不大。在支出相差不多情况下,收入越少自然逾期概率越大

     

    #还可以增加一个收入-支出的指数
    统计属性银行流水表['净收入'] = 统计属性银行流水表['收入总金额'] - 统计属性银行流水表['支出总金额'] 
    fig,ax = plt.subplots()
    fig.set_size_inches(6,6)
    ax.scatter(统计属性银行流水表['样本标签'],统计属性银行流水表['净收入'])

     

    以上就是银行流水记录表,如果想要研究还可以看看各个性别,职业,教育水平的工资、收入、支出等信息对比,这里由于研究的主要是逾期情况,因此主要跟逾期情况做对比

    三、信用卡账单记录表

    一共两百多万条数据,十五个字段,

  • 相关阅读:
    【leetcode】416. Partition Equal Subset Sum
    【leetcode】893. Groups of Special-Equivalent Strings
    【leetcode】892. Surface Area of 3D Shapes
    【leetcode】883. Projection Area of 3D Shapes
    【leetcode】140. Word Break II
    【leetcode】126. Word Ladder II
    【leetcode】44. Wildcard Matching
    【leetcode】336. Palindrome Pairs
    【leetcode】354. Russian Doll Envelopes
    2017.12.22 英语面试手记
  • 原文地址:https://www.cnblogs.com/jiegege/p/8706991.html
Copyright © 2011-2022 走看看