Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例


Posted in Python onJanuary 23, 2019

本文实例讲述了Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据。分享给大家供大家参考,具体如下:

一、Logistic回归模型:

 Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例

二、Logistic回归建模步骤

1.根据分析目的设置指标变量(因变量和自变量),根据收集到的数据进行筛选

2.用ln(p/1-p)和自变量x1...xp列出线性回归方程,估计出模型中的回归系数

3.进行模型检验。模型有效性检验的函数有很多,比如正确率、混淆矩阵、ROC曲线、KS值

4.模型应用。

三、对某银行在降低贷款拖欠率的数据进行建模

Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例

源代码为:

import pandas as pd
filename=r'..\data\bankloan.xls' #导入数据路径
data=pd.read_excel(filename) #读取该excel文件
x=data.iloc[:,:8].as_matrix() #选取数据集中0-7行的数据,形成一个矩阵
y=data.iloc[:,8].as_matrix()
from sklearn.linear_model import LogisticRegression as LR
from sklearn.linear_model import RandomizedLogisticRegression as RLR
rlr=RLR()
rlr.fit(x,y) #训练模型
rlr.get_support() #获取特征筛选结果
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))

机器运行结果报错:

IndexError: boolean index did not match indexed array along dimension 0; dimension is 9 but corresponding boolean dimension is 8

解决办法:建立一个新的矩阵data2,去掉最后一行,使维数匹配。

修改后代码如下:

import pandas as pd
filename=r'..\data\bankloan.xls'
data=pd.read_excel(filename)
x=data.iloc[:,:8].as_matrix()
y=data.iloc[:,8].as_matrix()
from sklearn.linear_model import LogisticRegression as LR
from sklearn.linear_model import RandomizedLogisticRegression as RLR
rlr=RLR()
rlr.fit(x,y)
rlr.get_support()
print(u'通过逻辑回归模型筛选特征结束。')
data2=data.drop(u'违约',1)
print(u'有效特征为:%s'%','.join(data2.columns[rlr.get_support()]))
x=data[data2.columns[rlr.get_support()]].as_matrix()
lr=LR()
lr.fit(x,y)
print(u'逻辑回归模型训练结束')
print(u'模型的平均正确率:%s'%lr.score(x,y))

机器运行结果:

 Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
给Python初学者的一些编程技巧
Apr 03 Python
Python中的localtime()方法使用详解
May 22 Python
Python实现程序的单一实例用法分析
Jun 03 Python
Django的URLconf中使用缺省视图参数的方法
Jul 18 Python
python开发之for循环操作实例详解
Nov 12 Python
Python微信库:itchat的用法详解
Aug 14 Python
详解python字节码
Feb 07 Python
python字符串常用方法
Jun 14 Python
Django实现web端tailf日志文件功能及实例详解
Jul 28 Python
Python多线程爬取豆瓣影评API接口
Oct 22 Python
Anconda环境下Vscode安装Python的方法详解
Mar 29 Python
scrapy处理python爬虫调度详解
Nov 23 Python
python实现石头剪刀布程序
Jan 20 #Python
python random从集合中随机选择元素的方法
Jan 23 #Python
python3+selenium实现qq邮箱登陆并发送邮件功能
Jan 23 #Python
python3+selenium实现126邮箱登陆并发送邮件功能
Jan 23 #Python
python+selenium实现QQ邮箱自动发送功能
Jan 23 #Python
python3实现逐字输出的方法
Jan 23 #Python
对Python w和w+权限的区别详解
Jan 23 #Python
You might like
PHP面向对象学习笔记之一 基础概念
2012/10/06 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
PHP微信PC二维码登陆的实现思路
2017/07/13 PHP
TP5框架请求响应参数实例分析
2019/10/17 PHP
javascript Select标记中options操作方法集合
2008/10/22 Javascript
qTip2 精致的基于jQuery提示信息插件
2012/02/17 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
javascript使用onclick事件改变选中行的颜色
2013/12/30 Javascript
图片放大镜jquery.jqzoom.js使用实例附放大镜图标
2014/06/19 Javascript
jQuery实现防止提交按钮被双击的方法
2015/03/24 Javascript
Javascript中数组方法汇总(推荐)
2015/04/01 Javascript
jQuery实现网页顶部固定导航效果代码
2015/12/24 Javascript
利用JS生成博文目录及CSS定制博客
2016/02/10 Javascript
JavaScript的模块化开发框架Sea.js上手指南
2016/05/12 Javascript
jQuery实现图片轮播效果代码
2016/09/27 Javascript
Vue.js教程之计算属性
2016/11/11 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
2016/12/14 Javascript
jquery PrintArea 实现票据的套打功能(代码)
2017/03/17 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
NodeJs使用Mysql模块实现事务处理实例
2017/05/31 NodeJs
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
js简单的分页器插件代码实例
2019/09/11 Javascript
解决vue-loader加载不上的问题
2020/10/21 Javascript
Vue实现图书管理小案例
2020/12/03 Vue.js
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
在python中以相同顺序shuffle两个list的方法
2018/12/13 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
对PyQt5的输入对话框使用(QInputDialog)详解
2019/06/25 Python
美国隐形眼镜销售网站:ContactsDirect
2017/10/28 全球购物
傲盾软件面试题
2015/08/17 面试题
干部下基层实施方案
2014/03/14 职场文书
槐乡的孩子教学反思
2014/04/27 职场文书
主持人开场白台词
2015/05/29 职场文书
焦点访谈观后感
2015/06/11 职场文书
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery
Go语言实现Base64、Base58编码与解码
2021/07/26 Golang