山东大学暑期项目实训-基于信用评分卡算法模型的个人信用评级系统的设计与实现-第四周-10(7月19日)

得出woe值和IV值后,通过柱状图对数据进行可视化输出。再自定义函数replace_woe,读取训练集,并将得到的woe值进行替换输出到新的文件WoeData里面。去除掉对因变量影响不明显的变量'SeriousDlqin2yrs', 'DebtRatio', 'MonthlyIncome_rf', 'NumberOfOpenCreditLinesAndLoans', 'NumberRealEstateLoansOrLines', 'NumberOfDependents'后通过对数据进行statsmodels包对数据进行逻辑回归运算,输出结果。最后利用sklearn.metrics,通过ROC曲线和AUC来评估模型的拟合能力得出最终的图,分析得出预测效果良好,正确率较高。

replace_woe函数

def replace_woe(series, bins, woe):
    list = []
    i = 0
    while i < len(series):
        value = series[i]
        j = len(bins) - 2
        m = len(bins) - 2
        while j >= 0:
            if value >= bins[j]:
                j = -1
            else:
                j -= 1
                m -= 1
        list.append(woe[m])
        i += 1
    return list

替换woe语句例子

df['MonthlyIncome_rf'] = Series(replace_woe(df['MonthlyIncome_rf'], MonthlyIncome_rf_bins, MonthlyIncome_rf_woe))

Logistics模型建立

data = pd.read_csv('WoeData.csv')

Y = data['SeriousDlqin2yrs']
X = data.drop(['SeriousDlqin2yrs', 'DebtRatio', 'MonthlyIncome_rf', 
               'NumberOfOpenCreditLinesAndLoans','NumberRealEstateLoansOrLines', 
               'NumberOfDependents'], axis=1)
X1 = sm.add_constant(X)
logit = sm.Logit(Y, X1)
result = logit.fit()
print(result.summary())

模型检验

Y_test = test['SeriousDlqin2yrs']
X_test = test.drop(['SeriousDlqin2yrs', 'DebtRatio', 'MonthlyIncome_rf', 'NumberOfOpenCreditLinesAndLoans',
                    'NumberRealEstateLoansOrLines', 'NumberOfDependents'], axis=1)
X3 = sm.add_constant(X_test)
resu = result.predict(X3)
fpr, tpr, threshold = roc_curve(Y_test, resu)
rocauc = auc(fpr, tpr)
ax = plt.axes()
ax.set_facecolor("white")
plt.plot(fpr, tpr, 'b', label='AUC = %0.2f' % rocauc)
plt.legend(loc='lower right')
plt.plot([0, 1], [0, 1], 'r--')
plt.xlim([0, 1])
plt.ylim([0, 1])
plt.ylabel('true')
plt.xlabel('false')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值