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 相关文章推荐
简单的通用表达式求10乘阶示例
Mar 03 Python
Python中处理字符串之islower()方法的使用简介
May 19 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
Mar 15 Python
在cmd命令行里进入和退出Python程序的方法
May 12 Python
解决Pycharm界面的子窗口不见了的问题
Jan 17 Python
对Python3 解析html的几种操作方式小结
Feb 16 Python
Python测试线程应用程序过程解析
Dec 31 Python
django ajax发送post请求的两种方法
Jan 05 Python
python中如何写类
Jun 29 Python
python 常见的反爬虫策略
Sep 27 Python
python中编写函数并调用的知识点总结
Jan 13 Python
Python保存并浏览用户的历史记录
Apr 29 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代码
2007/03/03 PHP
PHP 程序员也要学会使用“异常”
2009/06/16 PHP
php mysql_real_escape_string函数用法与实例教程
2013/09/30 PHP
简单的php中文转拼音的实现代码
2014/02/11 PHP
Codeigniter实现多文件上传并创建多个缩略图
2014/06/12 PHP
PHP下载生成的csv文件及问题总结
2015/08/06 PHP
PHP isset()及empty()用法区别详解
2020/08/29 PHP
js获取checkbox复选框选中的选项实例
2014/08/24 Javascript
使用JavaScript和CSS实现文本隔行换色的方法
2015/11/04 Javascript
浅谈JSON.stringify()和JOSN.parse()方法的不同
2016/08/29 Javascript
JavaScript 数组的深度复制解析
2016/11/02 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
2017/04/21 Javascript
浅谈struts1 & jquery form 文件异步上传
2017/05/25 jQuery
使用JS组件实现带ToolTip验证框的实例代码
2017/08/23 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
2018/02/22 Javascript
axios向后台传递数组作为参数的方法
2018/08/11 Javascript
微信小程序云函数使用mysql数据库过程详解
2019/08/07 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
JS判断浏览器类型与操作系统的方法分析
2020/04/30 Javascript
Vue 自适应高度表格的实现方法
2020/05/13 Javascript
Python基于多线程实现抓取数据存入数据库的方法
2018/06/22 Python
Django框架实现逆向解析url的方法
2018/07/04 Python
利用Python将每日一句定时推送至微信的实现方法
2018/08/13 Python
Django工程的分层结构详解
2019/07/18 Python
python模块和包的应用BASE_PATH使用解析
2019/12/14 Python
Python autoescape标签用法解析
2020/01/17 Python
python 如何调用 dubbo 接口
2020/09/24 Python
Python爬虫回测股票的实例讲解
2021/01/22 Python
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
党的群众路线教育实践活动总结报告
2014/04/28 职场文书
我们的节日中秋活动方案
2014/08/19 职场文书
党员演讲稿
2014/09/04 职场文书
解除劳动合同通知书范本
2015/04/16 职场文书
社区安全温馨提示语
2015/07/14 职场文书
Golang 并发编程 SingleFlight模式
2022/04/26 Golang
一篇文章带你掌握SQLite3基本用法
2022/06/14 数据库