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 time模块详解(常用函数实例讲解,非常好)
Apr 24 Python
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
Apr 05 Python
Python中的深拷贝和浅拷贝详解
Jun 03 Python
python中私有函数调用方法解密
Apr 29 Python
python实现汉诺塔递归算法经典案例
Mar 01 Python
Python随机数random模块使用指南
Sep 09 Python
基于Django模板中的数字自增(详解)
Sep 05 Python
python 保存float类型的小数的位数方法
Oct 17 Python
Python模块的加载讲解
Jan 15 Python
python Kmeans算法原理深入解析
Aug 23 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
Feb 27 Python
教你怎么用python实现字符串转日期
May 24 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/06/07 PHP
php对csv文件的读取,写入,输出下载操作详解
2013/08/10 PHP
MyEclipse常用配置图文教程
2014/09/11 PHP
ThinkPHP实现支付宝接口功能实例
2014/12/02 PHP
PHP时间和日期函数详解
2015/05/08 PHP
PHP实现XML与数据格式进行转换类实例
2015/07/29 PHP
Json_encode防止汉字转义成unicode的方法
2016/02/25 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
javascript 对象比较实现代码
2009/04/27 Javascript
javascript jscroll模拟html元素滚动条
2012/12/18 Javascript
ECMAScript 5严格模式(Strict Mode)介绍
2015/03/02 Javascript
ES5 ES6中Array对象去除重复项的方法总结
2017/04/27 Javascript
深入探究node之Transform
2017/07/20 Javascript
浅谈Vue父子组件和非父子组件传值问题
2017/08/22 Javascript
JS兼容所有浏览器的DOMContentLoaded事件
2018/01/12 Javascript
使用Vuex解决Vue中的身份验证问题
2018/09/28 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
2019/07/30 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
谈谈IntersectionObserver懒加载的具体使用
2019/10/15 Javascript
JavaScrip如果基于url实现图片下载
2020/07/03 Javascript
Python实现带参数与不带参数的多重继承示例
2018/01/30 Python
python获取url的返回信息方法
2018/12/17 Python
PyQt5多线程刷新界面防假死示例
2019/12/13 Python
Django中密码的加密、验密、解密操作
2019/12/19 Python
使用TensorFlow-Slim进行图像分类的实现
2019/12/31 Python
python实现密码验证合格程序的思路详解
2020/06/01 Python
Python descriptor(描述符)的实现
2020/11/15 Python
Python爬虫开发与项目实战
2020/12/16 Python
亚瑟士美国官网:ASICS美国
2017/02/01 全球购物
美国婚礼礼品网站:MyWeddingFavors
2018/09/26 全球购物
学生会主席事迹材料
2014/01/28 职场文书
电厂职工自我鉴定
2014/02/20 职场文书
公安领导班子四风问题个人整改措施思想汇报
2014/10/09 职场文书
大明湖导游词
2015/02/03 职场文书
10大幻兽系恶魔果实 蝙蝠果实上榜,第一自愈能力强
2022/03/18 日漫