机器学习:基于逻辑回归对某银行客户违约预测分析
机器学习:基于逻辑回归对某银行客户违约预测分析
文章目录
- 机器学习:基于逻辑回归对某银行客户违约预测分析
- 一、实验目的
- 二、实验原理
- 三、实验环境
- 四、实验内容
- 五、实验步骤
- 1.逻辑回归
- 2.业务理解
- 3.读取数据
- 4.数据理解
- 5.数据准备
- 6.逻辑回归模型训练
- 7.模型评价
- 总结
一、实验目的
1.理解逻辑回归原理
2.掌握scikit-learn操作逻辑回归方法
二、实验原理
机器学习是博大精深的,除了我们上一次说的线性回归,还有一类重要的回归就是逻辑回归。逻辑回归其实用于二分分类问题,用于判断一个离散性的特征得到的标签类型的概率。举个例子,你是否喜欢一首歌是通过很多这个歌的特征(如节奏、强度等)来判断的,那么我们的数据集就是各种歌的特征,而返回的结果则是一个非1即0,不是喜欢就是不喜欢的结果:

而机器学习可以做到什么呢?它会通过模型形成一个决策面,在你喜欢和不喜欢的歌之间划出一条分界线,就像这样:

用线性回归的拟合线已经无法很好的表示结果了,这时候就是使用逻辑回归来分类的时候了,而对于Logistic Regression来说,其思想也是基于线性回归(Logistic Regression属于广义线性回归模型)。其公式如下:

其中,

被称作sigmoid函数,我们可以看到,Logistic Regression算法是将线性函数的结果映射到了sigmoid函数中。sigmoid的函数图形如下:

我们可以看到,sigmoid的函数输出是介于(0,1)之间的,中间值是0.5,于是之前的公式 hθ(x) 的含义就很好理解了,因为 hθ(x) 输出是介于(0,1)之间,也就表明了数据属于某一类别的概率,例如 :
hθ(x)hθ(x)<0.5 则说明当前数据属于A类;
hθ(x)hθ(x)>0.5 则说明当前数据属于B类。
所以我们可以将sigmoid函数看成样本数据的概率密度函数
三、实验环境
Python 3.6.1以上
Jupyter
四、实验内容
根据逻辑回归,分析银行违约客户的各项特征,推测某一客户违约的情况
五、实验步骤
1.逻辑回归
逻辑回归用于二分分类问题,回归是一种极易理解的模型,就相当于y=f(x),表明自变量x与因变量y的关系。最常见问题有如医生治病时的望、闻、问、切,之后判定病人是否生病或生了什么病,其中的望闻问切就是获取自变量x,即特征数据,判断是否生病就相当于获取因变量y,即预测分类。
2.业务理解
某银行违约客户信息表如下:(这里只展示了部分数据)我们通过银行客户资料违约情况表来做逻辑回归分析,其中的年龄、教育、工龄、地址、收入、 负债率、信用卡负债、其他负债就是获取自变量x,即特征数据,判断是否违约就相当于获取因变量y,即预测分类。

3.读取数据
1.编写代码,读取数据
import numpy as np
import pandas as pd
data = pd.read_excel(r'D:\CSDN\数据分析\逻辑回归\loandata.xls')
data.head()

4.数据理解
1.查看数据结构
data.shape

说明:loandata.xls数据位700行9列
2.查看数据列名称
data.columns

说明:loandata.xls中列名称为:‘年龄’‘教育’‘工龄’‘地址’‘收入’‘负债率’‘信用卡负债’‘其他负债’’违约‘
5.数据准备
数据准备就是获得特征数据和预测分类
1.删除’违约‘这一列数据得到特征数据
X_Data = data.drop(['违约'],axis = 1)
X_Data.head()

2.获取’违约‘这列数据得到预测分类
y_data = np.ravel(data[['违约']])
y_data[0:5]

6.逻辑回归模型训练
1.创建新的特征矩阵
X2_data = data.drop(['年龄','教育','收入','其他负债','违约'],axis=1)
X2_data.head()

2.建立训练数据和测试数据
-
train_test_split是交叉验证中常用的函数,功能是从样本中随机的按比例选取训练数据(train)和测试数据(test)
-
第1个参数:所要划分的样本特征
-
第2个参数:所要划分的样本标签
-
random_state:它的用途是在随机划分训练集和测试集时候,划分的结果并不是那么随机,也即,确定下来random_state是某个值后,重复调用这个函数,划分结果是确定的
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X2_data,y_data,random_state=1)
print(X_train.shape)
print(X_test.shape)

3.进行逻辑训练
#导入逻辑回归包
from sklearn.linear_model import LogisticRegression
# 创建模型:逻辑回归
lr = LogisticRegression()
#训练模型
lr.fit(X_train,y_train)
4.查看训练模型参数
lr.coef_

5.查看截距
#训练模型截距
lr.intercept_

6.预测数据
使用模型的predict方法对划分的X测试数据可以进行预测得值“违约”情况
lr.predict(X_test)

7.模型评价
1.我们使用“准确率"来评估模型:
#模型评价的平均正确率
lr.score(X_test,y_test)

得到的结果准确率为0.834
总结
逻辑回归用于二分分类问题,回归是一种极易理解的模型,就相当于y=f(x),表明自变量x与因变量y的关系。最常见问题有如医生治病时的望、闻、问、切,之后判定病人是否生病或生了什么病,其中的望闻问切就是获取自变量x,即特征数据,判断是否生病就相当于获取因变量y,即预测分类。
相关文章:
机器学习:基于逻辑回归对某银行客户违约预测分析
机器学习:基于逻辑回归对某银行客户违约预测分析 文章目录机器学习:基于逻辑回归对某银行客户违约预测分析一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤1.逻辑回归2.业务理解3.读取数据4.数据理解5.数据准备6.逻辑回归模型训练7.模型评…...
MySQL数据库常用命令汇总(全网最全)
目录 数据库常用命令 数据库的创建 数据表的操作 表数据的增删查改 分组与函数查询 运算符:数学运算符 连接查询 多表查询 修改语句 删除语句 字符查询like MySQL练习 总结感谢每一个认真阅读我文章的人!!! 重点&…...
Bulletproofs++
1. 引言 前序博客: Bulletproofs: Short Proofs for Confidential Transactions and More学习笔记Bulletproofs 代码解析Bulletproofs: Shorter Proofs for Privacy-Enhanced Distributed Ledger学习笔记Bulletproofs 代码解析 Liam Eagen 2022年3月论文《Bullet…...
毕业设计(1)-AFLGO的安装
AFLGO是一个模糊测试工具,在CSDN上的安装教程不多,自己在安装过程中也出现了很多教程之外的错误,最后反复安装了2天终于安装成功这里记录一下安装工程中的错误 使用的平台:Ubuntu18.04 配置: 内存:6G&…...
基于Opencv的缺陷检测任务
数据及代码见文末 1.任务需求和环境配置 任务需求:使用opencv检测出手套上的缺陷并且进行计数 环境配置:pip install opencv-python 2.整体流程 首先,我们需要定义几个参数。 图像大小,原图像比较大,首先将图像resize一下再做后续处理图像阈值处理的相应阈值反转阈值的…...
Android Gradle脚本打包
1、背景资料 1.1 Android-Gradle-Groovy-Java-JVM 之间的关系 1.2 Android Gradle Plugin Version版本 与 Gradle Version版本的对应关系 Android Gradle Plugin Version版本Gradle Version版本1.0.0 - 1.1.32.2.1 - 2.31.2.0 - 1.3.12.2.1 - 2.91.5.02.2.1 - 2.132.0.0 -…...
平滑KDJ指标公式,减少无效金叉死叉
软件自带的KDJ指标比较敏感,在震荡上涨或者震荡下跌时会反复出现金叉死叉信号,不利于指标的使用以及进一步开发。为了减少无效金叉死叉,本文对KDJ指标公式进行平滑处理。 一、KDJ指标对比 以下为软件自带的KDJ指标,加上了图标。本…...
大势前瞻!文旅还是短视频,你弯道超车风口在这了
三年前,新冠疫情的影响波及整个各行各业行业,互联网寒冬,房地产崩盘,教培团灭,在这样的背景下,行业都进入了发展“冰雪期”。老话说大疫后必有大变,如今风雪融化,万物复苏࿰…...
JAVA基础常见面试题
1.Java接口和抽象类的区别? 接口 接口中不能定义构造器 方法全部都是抽象方法,JDK8提供方法默认实现 接口中的成员都是public的 接口中定义的成员变量实际上都是常量 一个类可以实现多个接口 抽象类 抽象类中可以定义构造器 可以有抽象方法和具体…...
通过一张照片来定位拍摄地点和网站的域名 LA CTF 2023
简介 这次打ctf遇到了一个比较经典的osint类题目,在这里分享一下如何做此类题目 题目链接: https://platform.lac.tf/challs题目简介: 你能猜出这个猫天堂的名字吗?答案是此位置的网站域。例如,如果答案是 ucla&…...
SpringBoot(powernode)(内含教学视频+源代码)
SpringBoot(powernode)(内含教学视频源代码) 教学视频源代码下载链接地址:https://download.csdn.net/download/weixin_46411355/87484637 目录SpringBoot(powernode)(内含教学视频…...
TEMU联盟计划用意何在?做推广达人真的能收入满满吗?
据东哥近期了解,Temu在北美市场表现十分火爆,甚至冲上了AppStore下载榜第一名。Temu在美国市场上采用了类似PDD的病毒式传播策略,以实惠的产品和折扣吸引消费者并动员普通人大量传播链接和App下载,所以有了TEMU联盟计划࿰…...
【概念辨析】二维数组传参的集中可能性
一、二维数组传参竟然不是用二级指针进行接收? 今天进行再一次的二级指针学习时,发现了一条以前没怎么注意过的知识点:二维数组进行传参只能用二维数组(不能省略列)进行接收或者是数组指针。 问题复现代码如下…...
Photon Vectorized Engine 学习记录
Photon Hash Aggregation Vectorization Photon Hash Join 的向量化的要点是:使用开放地址法。步骤: 向量化计算 hash 值基于 hash 向量化计算 bucket 下标,得到 bucket index 向量基于 bucket index 向量中记录的下标找到 bucketÿ…...
webRTC学习-基础知识
webRTC学习1、webRTC简介1.1什么是webRTC?1.2、作用2、webRTC通信原理2.1、媒体协商(SDP)2.2、网络协商(candidate)2.2.1、STUN2.2.2、TURN2.3、媒体协商网络协商数据的交换通道webRTC官网1、webRTC简介 1.1什么是web…...
MySQL数据库——JDBC编程
文章目录一、什么是Java的JDBC二、JDBC编程三、代码整体展示一、什么是Java的JDBC JDBC,即Java Database Connectivity。意思是java数据库连接。是一种用来执行 SQL 语句的 JavaAPI,是Java中数据库的连接规范。这个 API 由 java.sql* 和 javax.sql* 包中…...
【面向小白】你见过这样讲解队列的吗?(阅此文可学会用纯C手撕一个队列)
目录 0.前言 1.什么是队列 2.选择什么结构实现队列 3.用C语言实现队列 3.1用什么可以封装代表一个队列 3.2队列接口的设计 3.3 队列的初始化 3.4 队列的销毁 3.5* 队列的状态分析 3.6 队列的插入 3.7 队列的删除 3.8 队列的大小(有效元素的数目ÿ…...
[element plus] 对话框组件再封装使用 - vue
学习关键语句: 饿了么组件dialog组件使用 dialog组件二次封装 vue3中封住的组件使用update触发更新 vue3中封装组件使用v-model:属性值来传值 写在前面 这是我遇到的一个页面需求 , 其中一个对话框的内容是很常用的 , 所以我将它封装出来才写的一篇文章 现在给出如下需求: 封…...
Markdown基本语法简介
前言:当你在git平台创建一个仓库时,平台会自动创建一个README.md文件,并将它的内容展现在web端页面,方面其他读者查阅。README.md实则是一个适用Markdown语法的文本文件,从他的后缀md即可看出它是Markdown的缩写。在gi…...
分布式服务的接口幂等性如何设计
1.1 概述 所谓幂等: 多次调用方法或者接口不会改变业务状态,可以保证重复调用的结果和单次调用的结果一致。 基于RESTful API的角度对部分常见类型请求的幂等性特点进行分析 举个例子: 假如你有个某多多 有个服务 服务提供一个接口,结果这个服务部署在…...
AMLP框架实战:基于MACE构建高精度机器学习势函数
1. 项目概述:当机器学习势函数遇上自动化管道在计算化学和材料科学领域,我们长久以来面临着一个核心矛盾:精度与效率的权衡。密度泛函理论(DFT)能提供接近实验的精度,但计算成本高昂,通常只能处…...
ARM PMU外部接口与性能监控寄存器详解
1. ARM性能监控寄存器外部接口深度解析性能监控单元(PMU)是现代处理器架构中用于硬件性能分析的核心模块,它通过一组可编程计数器实时捕获处理器微架构层面的各类事件。在ARMv8/v9架构中,PMU不仅可以通过系统寄存器访问,还提供了标准化的外部…...
从入门到实践:EEG公开数据集分类与应用场景全解析
1. EEG公开数据集入门指南刚接触脑电信号分析的研究者,常常会被一个问题困扰:"我应该从哪里获取可靠的EEG数据?"作为一个在这个领域摸爬滚打多年的研究者,我完全理解这种困惑。记得我第一次接触EEG研究时,光…...
中兴光猫终极管理指南:解锁工厂模式与Telnet权限的实战教程
中兴光猫终极管理指南:解锁工厂模式与Telnet权限的实战教程 【免费下载链接】zteOnu A tool that can open ZTE onu device factory mode 项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu 掌握中兴光猫的设备管理和权限获取能力是网络管理员和技术爱好者…...
从开题到定稿零焦虑:okbiye AI 论文写作,帮你把毕业季的 “大山” 变成坦途
okbiye-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AI PPT毕业论文 - Okbiye智能写作https://www.okbiye.com/ai/bylw 毕业季的深夜,宿舍台灯下的屏幕亮着刺眼的光,文档里的字数停留在三位数,而 deadline 正一天天逼近。你是…...
开源 AI Agent Harness Engineering 框架全览:LangChain, AutoGPT, CrewAI 孰优孰劣?
开源 AI Agent Harness Engineering 框架全览:LangChain, AutoGPT, CrewAI 孰优孰劣? 关键词 AI Agent Harness Engineering、大语言模型编排(LLM Orchestration)、LangChain、AutoGPT、CrewAI、工具调用(Tool Calling)、多Agent协作、自主任务规划 摘要 随着大语言模型…...
武汉国电华美16875kVA串联谐振试验装置,这手活儿细
在超高压变电站和长距离电缆的现场,交流耐压试验是检验设备绝缘的“最后一关”。这位老师傅经手过不少大工程,他说,面对GIS、大型变压器这些“大块头”电容性试品,能不能顺利“过关”,往往就看串联谐振装置顶不顶得住。…...
二十六.签名与脚本(1)--脚本介绍
1.区块链脚本介绍在之前的章节中,我们了解了签名与验证相关,但是btc的交易数据,签名和验证,不是单纯的,还有脚本深度参与其中。我们从开始来:bool SendMoney(CScript scriptPubKey, int64 nValue, CWalletT…...
Windows Cleaner:终极免费系统清理工具,彻底解决C盘空间不足问题
Windows Cleaner:终极免费系统清理工具,彻底解决C盘空间不足问题 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否经常遇到C盘爆红、…...
HiveWE终极指南:快速掌握魔兽争霸III现代化地图编辑器
HiveWE终极指南:快速掌握魔兽争霸III现代化地图编辑器 【免费下载链接】HiveWE A Warcraft III world editor. 项目地址: https://gitcode.com/gh_mirrors/hi/HiveWE 还在为传统魔兽争霸III地图编辑器缓慢的加载速度和复杂的操作界面而烦恼吗?Hiv…...
