某银行降低贷款拖欠率的逻辑回归建模

代码:

# -*- coding: utf-8 -*-
"""
Created on Sat Jul 15 17:48:35 2017

@author: Administrator
###逻辑回归建模###
"""

import pandas as pd
from sklearn.linear_model import LogisticRegression as LR
from sklearn.linear_model import RandomizedLogisticRegression as RLR

#参数初始化
filename = 'D:/PythonSpace/Python Practice of Data Analysis and Mining/data/bankloan.xls'
data = pd.read_excel(filename)
x = data.iloc[:,:8].as_matrix()
y = data.iloc[:,8].as_matrix()

#建立随机逻辑回归模型,筛选变量
rlr = RLR()
#训练模型
rlr.fit(x,y)
#获取特征选择结果
rlr.get_support()
#通过.score方法获取各个特征的分数
print(u'特征:%s' % ' '.join(data.columns[:,:8]))
print (u'对应特征分数:%s' % rlr.scores_)
print(u'通过随机逻辑回归模型特征选择结束。')
print(u'有效特征为:%s' % ','.join(data.columns[rlr.get_support()]))
#筛选好的特征
x = data[data.columns[rlr.get_support()]].as_matrix()

#建立逻辑回归模型
lr = LR()
#用筛选好的特征数据训练模型
lr.fit(x,y)
print(u'逻辑回归模型训练结束')
#给出模型的平均正确率
print(u'模型的平均正确率为:%s' % lr.score(x,y))

结果显示:

特征:年龄 教育 工龄 地址 收入 负债率 信用卡负债 其他负债 
对应特征分数:[ 0.1    0.105  0.995  0.44   0.     1.     0.54   0.035]
通过随机逻辑回归模型特征选择结束。
有效特征为:工龄,地址,负债率,信用卡负债
逻辑回归模型训练结束
模型的平均正确率为:0.814285714286

分析:

1.筛选变量(降维):随机逻辑回归、随机Lasso(线性模型)
       决策树、神经网络(非线性模型)
2.建立随机逻辑回归模型时,使用默认阈值0.25选择特征,可用RLR(selection_threshold=0.5)手动设置阈值

根据提供的引用内容,可以使用R语言来计算银行贷款拖欠。具体步骤如下: 1. 首先,根据贷款表中的还款状态变量(status)构建目标变量。将A代表合同终止且正常还款,B代表合同终止但未还款,C代表合同未结束且正常还款,D代表合同未结束且已拖欠贷款的情况,将贷款拖欠用1表示,没有违约则用0表示。 2. 接下来,根据模型结果进行回归分析。根据模型结果可知,申请贷款前一年的贷收比(r_lincome)、存款余额的标准差(sd)、贷款期限(duration)与违约正相关,存款余额的均值(mean)、贷款者当地1000人中有多少企业家(A14)与违约负相关。 3. 使用回归模型计算拖欠。根据回归模型的系数,将每个变量的值乘以对应的系数,然后将所有结果相加,得到一个拖欠的预测值。 4. 最后,根据预测值进行分类。将预测值大于等于0.5的样本标记为拖欠,小于0.5的样本标记为未拖欠。 下面是一个使用R语言计算银行贷款拖欠的示例代码: ```R # 构建目标变量 loans$status <- ifelse(loans$status %in% c("A", "C"), 0, 1) # 回归分析 model <- glm(status ~ r_lincome + sd + duration + mean + A14, data = loans, family = binomial) summary(model) # 计算拖欠 predict_values <- predict(model, type = "response") default_rate <- mean(predict_values) # 分类 predictions <- ifelse(predict_values >= 0.5, "拖欠", "未拖欠") ``` 请注意,以上代码仅为示例,具体的数据处理和模型选择需要根据实际情况进行调整。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

o0xgw0o

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值