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

一、Logistic回归模型:

二、Logistic回归建模步骤

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

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

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

4.模型应用。

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

源代码为:

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程序设计有所帮助。

用python计算贷款_Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例...相关推荐

  1. python基于logistic回归模型的预测概率和标签信息可视化ROC曲线

    python基于logistic回归模型的预测概率和标签信息可视化ROC曲线 目录 python基于logistic回归模型的预测概率和标签信息可视化ROC曲线

  2. 基于Logistic回归的上市公司ROE预测

    基于Logistic回归的上市公司ROE预测 目录 基于Logistic回归的上市公司ROE预测 前言 基于Logistic回归的上市公司ROE预测 导入相关库 读取并查看数据基本情况 划分自变量与因 ...

  3. 机器学习笔记1:基于Logistic回归进行数据预测

    机器学习笔记1:基于Logistic回归进行数据预测 一.背景 近期项目的一个核心部分就是实现对数据的预测,因为没有实际的数据样本,所以我准备近期学习Machine Learning的几种方式,从简单 ...

  4. R语言splines包构建基于logistic回归的自然样条分析:南非心脏病数据集、非线性:基函数展开和样条分析、你简单分析的不重要特征,可能只是线性不显著、而非线性是显著的

    R语言splines包构建基于logistic回归的自然样条分析:南非心脏病数据集.非线性:基函数展开和样条分析.你简单分析的不重要特征,可能只是线性不显著.而非线性是显著的 目录

  5. R语言限制性立方样条(RCS, Restricted cubic spline)分析:基于logistic回归模型、南非心脏病数据集(South African Heart Disease)

    R语言限制性立方样条(RCS, Restricted cubic spline)分析:基于logistic回归模型.南非心脏病数据集(South African Heart Disease) 目录

  6. R语言计算F1评估指标实战:F1 score、使用R中caret包中的confusionMatrix()函数为给定的logistic回归模型计算F1得分(和其他指标)

    R语言计算F1评估指标实战:F1 score.使用R中caret包中的confusionMatrix()函数为给定的logistic回归模型计算F1得分(和其他指标) 目录

  7. 数学建模-分类模型(基于logistic回归)

    基于logistic回归的分类模型: 对于二分类模型,采用基础逻辑回归(logistic regression) 对于多分类模型,采用多分类逻辑回归 模型要求(针对01 logistic) 假设1:因 ...

  8. 基于Logistic回归的麻雀搜索算法

    文章目录 一.理论基础 1.麻雀搜索算法 2.改进麻雀搜索算法 (1)逐维小孔成像反向学习优化发现者位置 (2)基于Logistic模型的自适应因子 (3)算法伪代码 二.仿真实验与分析 三.参考文献 ...

  9. Python机器学习(二):Logistic回归建模分类实例——信用卡欺诈监测(上)

    Logistic回归建模分类实例--信用卡欺诈监测 现有一个creditcard.csv(点此下载)数据集,其中包含不同客户信用卡的特征数据(V1.V2--V28.Amount)和标签数据(Class ...

最新文章

  1. 用navicate 连接本地数据库提示用户名/口令无效
  2. Linux系统之高级用户组和权限管理
  3. 第四讲、Linux常用命令
  4. redis的基本使用笔记一
  5. HNCU 1741: 算法3-2:行编辑程序
  6. java 反射用法_Java 反射的概念与使用
  7. 粉丝大失所望,罗永浩回应:做主播赚的不是脏钱
  8. 主板开启网络唤醒(Wake on lan)
  9. SpringMVC学习(三)RestFul风格
  10. centos7下yum安装mysql_CentOS7下使用YUM安装MySQL5.6-Go语言中文社区
  11. OpenGL图形学中的DDA算法
  12. 20220508ARCore 初体验
  13. Scratch3.0——助力新进程序员理解程序(案例一、画画的蝴蝶)
  14. java获取网页编码_java根据URL获取网页编码
  15. Maven deploy项目到私服报错
  16. 28 关于 Finalizer
  17. 机器学习之选择小样本交叉验证训练模型并使用精确率、召回率、F1分数和AUC值、画出ROC曲线评估
  18. torchtext field.build_vocab问题
  19. Java 爬取微信公众号文章(文字 + 图片)
  20. 201871010105-曹玉中《面向对象程序设计(java)》第四周学习总结

热门文章

  1. 完善Linux/UNIX审计 将每个shell命令记入日志
  2. #ifdef,#else,#if,#endif (转载)
  3. html下拉框只读,HTML元素(如select下拉框)设置为只读
  4. FIFO and DMA
  5. stm32 不断的重新启动的原因
  6. VMware Workstation 14 激活码
  7. 推动网络由连接为中心向用户为中心转变
  8. 让fedora18桌面显示图标
  9. 在word 2007中插入复选框
  10. 怎么找出消耗 CPU 的罪魁祸首?!