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下线程之间的共享和释放示例
May 04 Python
python实现堆和索引堆的代码示例
Mar 19 Python
python3写的简单本地文件上传服务器实例
Jun 04 Python
python3监控CentOS磁盘空间脚本
Jun 21 Python
Django框架的使用教程路由请求响应的方法
Jul 03 Python
python 自动重连wifi windows的方法
Dec 18 Python
在PyCharm下使用 ipython 交互式编程的方法
Jan 17 Python
python使用mitmproxy抓取浏览器请求的方法
Jul 02 Python
Django中如何使用sass的方法步骤
Jul 09 Python
在python tkinter界面中添加按钮的实例
Mar 04 Python
python实现凯撒密码、凯撒加解密算法
Jun 11 Python
基于pycharm 项目和项目文件命名规则的介绍
Jan 15 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下使用SMTP发邮件的代码
2008/01/10 PHP
PHP5中的时间相差8小时的解决办法
2008/03/28 PHP
Zend Framework中的简单工厂模式 图文
2012/07/10 PHP
PHP文件上传类实例详解
2016/04/08 PHP
PHP简单实现记录网站访问量功能示例
2018/06/06 PHP
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
JavaScript实现16进制颜色值转RGB的方法
2015/02/09 Javascript
javascript控制台详解
2015/06/25 Javascript
详解JS正则replace的使用方法
2016/03/06 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
深入剖析JavaScript面向对象编程
2016/07/12 Javascript
详解获取jq ul第一个li定位的四种解决方案
2016/11/23 Javascript
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
详解用Node.js写一个简单的命令行工具
2018/03/01 Javascript
详解使用React制作一个模态框
2019/03/14 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
2020/04/16 Javascript
JavaScript基于用户照片姓名生成海报
2020/05/29 Javascript
[01:02]DOTA2上海特锦赛SHOWOPEN
2016/03/25 DOTA
python使用udp实现聊天器功能
2018/12/10 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
Python倒排索引之查找包含某主题或单词的文件
2019/11/13 Python
Spark处理数据排序问题如何避免OOM
2020/05/21 Python
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
利用纯CSS3实现动态的自行车特效源码
2017/01/20 HTML / CSS
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
HTML5公共页面提取作为公用代码的方法
2020/06/30 HTML / CSS
StubHub西班牙:购买和出售全球活动门票
2017/06/05 全球购物
美国市场上最实惠的送餐服务:Dinnerly
2018/03/18 全球购物
巴西网上药店:Drogaria Araujo
2021/01/06 全球购物
介绍一下SQL Server里面的索引视图
2016/07/31 面试题
机电一体化自荐信
2013/12/10 职场文书
大学生感恩父母演讲稿
2014/08/28 职场文书
2015年毕业实习工作总结
2015/05/29 职场文书
你对自己的信用报告有过了解吗?
2019/07/09 职场文书
2019年“我为祖国点赞”演讲稿(3篇)
2019/09/26 职场文书
Python基于Opencv识别两张相似图片
2021/04/25 Python