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 相关文章推荐
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
Jan 05 Python
详解django的serializer序列化model几种方法
Oct 16 Python
11个Python3字典内置方法大全与示例汇总
May 13 Python
python中的函数递归和迭代原理解析
Nov 14 Python
python3实现绘制二维点图
Dec 04 Python
Python Sympy计算梯度、散度和旋度的实例
Dec 06 Python
flask 实现上传图片并缩放作为头像的例子
Jan 09 Python
浅谈keras2 predict和fit_generator的坑
Jun 17 Python
基于python模拟bfs和dfs代码实例
Nov 19 Python
python利用while求100内的整数和方式
Nov 07 Python
Python+Tkinter打造签名设计工具
Apr 01 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/09/14 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
php 解决substr()截取中文字符乱码问题
2016/07/18 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
Laravel 自动生成验证的实例讲解:login / logout
2019/10/14 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
2019/10/30 PHP
文本框input聚焦失焦样式实现代码
2012/10/12 Javascript
js实现商城星星评分的效果
2015/12/29 Javascript
Jquery使用小技巧汇总
2015/12/29 Javascript
JavaScript中附件预览功能实现详解(推荐)
2017/08/15 Javascript
用p5.js制作烟花特效的示例代码
2018/03/21 Javascript
详解如何制作并发布一个vue的组件的npm包
2018/11/10 Javascript
js getBoundingClientRect使用方法详解
2019/07/17 Javascript
vue实现axios图片上传功能
2019/08/20 Javascript
JQuery中DOM节点的操作与访问方法实例分析
2019/12/23 jQuery
JavaScript对象属性操作实例解析
2020/02/04 Javascript
mpvue实现微信小程序快递单号查询代码
2020/04/03 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
[01:14]DOTA2 7.22版本新增神杖效果展示(智力英雄篇)
2019/05/29 DOTA
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
python内置函数sorted()用法深入分析
2019/10/08 Python
python 装饰器功能与用法案例详解
2020/03/06 Python
配置python的编程环境之Anaconda + VSCode的教程
2020/03/29 Python
Python数组拼接np.concatenate实现过程
2020/04/18 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
全球工业:Global Industrial
2020/02/01 全球购物
回门宴答谢词
2014/01/13 职场文书
交通安全寄语大全
2014/04/08 职场文书
应届毕业生自荐信
2014/05/28 职场文书
比赛口号大全
2014/06/10 职场文书
先进教师个人总结
2015/02/11 职场文书
幼儿园教师教学反思
2016/03/02 职场文书
2016年青少年禁毒宣传教育活动总结(学校)
2016/04/05 职场文书
话题作文之呼唤
2019/12/18 职场文书
python基础之函数的定义和调用
2021/10/24 Python