美文网首页
风控(四)——单变量分析

风控(四)——单变量分析

作者: 猴小白 | 来源:发表于2019-07-29 19:00 被阅读0次

    作为一个刚入行的数据分析职场小白,老板是不会让你直接去做模型的,很可能你的老板会跟你说:“小白啊,你去给我研究一下星座对我们是否贷款有没有影响”。虽然你脑袋上已经出现一百个问号,但是老板交代的任务还是得去好好完成以下。
    先导入包

    import pandas as pd
    import numpy as np
    

    读入数据

    f = open('ft_zodiac.txt', encoding='utf-8')
    ft_zodiac = pd.read_csv(f)  
    print(ft_zodiac.shape)
    ft_zodiac.head()
    

    数据维度为(23519, 4)



    一般在实际业务中,我们并不会设定一个明确的界线来分割好坏客户。比如一般的中短期借贷中会认为逾期15天以上算坏客户,但其实逾期14天和15天的客户差别很难区分。因为,实际业务中会留有一个“灰色地带”。比如定义逾期15天以上的为坏客户,逾期5天以内的为好客户,逾期6-14天的则定义为“灰色地带”,也就是其实是分成0,1,2三类的。
    去掉“灰色地带”的数据

    l = open('zodiac_label.txt')
    zodiac_label=pd.read_csv(l)
    
    ft_label = zodiac_label[zodiac_label['label'] != 2]
    ft_label.head()
    

    将特征表和标签表合并

    data = pd.merge(ft_label,ft_zodiac,on = 'order_id',how = 'inner')
    data.head()
    

    计算星座坏客户比例:badrate = bad/toal

    #星座
    zodiac_badrate = {}
    for x in zodiac_list:
        
        a = data[data.zodiac == x]
        
        bad = a[a.label == 1]['label'].count()
        good = a[a.label == 0]['label'].count()
        
        zodiac_badrate[x] = bad/(bad+good)
    
    f = zip(zodiac_badrate.keys(),zodiac_badrate.values())
    f = sorted(f,key = lambda x : x[1],reverse = True )
    zodiac_badrate = pd.DataFrame(f)
    zodiac_badrate.columns = pd.Series(['星座','badrate'])
    zodiac_badrate
    

    将星座坏客户比例可视化

    from pyecharts import Line
    x = zodiac_badrate['星座']
    y = zodiac_badrate['badrate']
    line = Line('星座')
    line.add(1,x,y)
    

    坏客户比例最高的双鱼(14%)与最低的天蝎(12%)之间差别是非常小的,所以星座这个变量可以说是作用不大。
    那我们再来看看生肖。

    #生肖
    chinese_zodiac_badrate = {}
    for x in chinese_zodiac_list:
        
        a = data[data.chinese_zodiac == x]
        
        bad = a[a.label == 1]['label'].count()
        good = a[a.label == 0]['label'].count()
        
        chinese_zodiac_badrate[x] = bad/(bad+good)
    
    f = zip(chinese_zodiac_badrate.keys(),chinese_zodiac_badrate.values())
    f = sorted(f,key = lambda x : x[1],reverse = True )
    chinese_zodiac_badrate = pd.DataFrame(f)
    chinese_zodiac_badrate.columns = pd.Series(['生肖','badrate'])
    chinese_zodiac_badrate
    
    from pyecharts import Line
    x = chinese_zodiac_badrate['生肖']
    y = chinese_zodiac_badrate['badrate']
    line = Line('生肖')
    line.add(1,x,y)
    

    可以看到,坏客户率最高的“牛”(16%)与“狗”(11%)之间的差异还是比“星座”大的,所以可以说可能研究“生肖”这个特征是比研究“星座”这个特征意义更大的。

    相关文章

      网友评论

          本文标题:风控(四)——单变量分析

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