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

代码:

# -*- 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)手动设置阈值

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

o0xgw0o

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

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

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

打赏作者

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

抵扣说明:

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

余额充值