python信用卡违约预测分析_Python数据分析及可视化实例之银行信用卡违约预测(24)...

1.项目背景:

银行体系对于信用可违约进行预测,原始数据集如下:

2.分析步骤:

(1)数据清洗(Data Cleaning)

(2) 探索性可视化(Exploratory Visualization)

(3) 特征工程(Feature Engineering)

(4)基本建模&评估(Basic Modeling& Evaluation)

3.源码:

数据集下载:易一网络科技 - 付费文章​www.intumu.com

加载数据

import pandas as pd

df=pd.read_excel('LRGWFB.xls')

df.head()

年龄 教育 工龄 地址 收入 负债率 信用卡负债 其他负债 违约 0 41 3 17 12 176 9.3 11.359392 5.008608 1 1 27 1 10 6 31 17.3 1.362202 4.000798 0 2 40 1 15 14 55 5.5 0.856075 2.168925 0 3 41 1 15 14 120 2.9 2.658720 0.821280 0 4 24 2 2 0 28 17.3 1.787436 3.056564 1

是否有空值

df.isnull().any()

年龄 False

教育 False

工龄 False

地址 False

收入 False

负债率 False

信用卡负债 False

其他负债 False

违约 False

dtype: bool

目标集分类

df['违约'].unique()

array([1, 0], dtype=int64)

训练集、目标集分割

X, y = df.iloc[:,1:-1],df.iloc[:,-1]

特征相关性

classes = X.columns.tolist()

classes

['教育', '工龄', '地址', '收入', '负债率', '信用卡负债', '其他负债']

from yellowbrick.features import Rank2D

visualizer = Rank2D(algorithm='pearson',size=(800, 600),title="7特征向量的皮尔森相关系数")

visualizer.fit(X, y)

visualizer.transform(X)

visualizer.poof()

E:\Anaconda3\lib\site-packages\yellowbrick\features\rankd.py:262: FutureWarning: Method .as_matrix will be removed in a future version. Use .values instead.

X = X.as_matrix()

特征重要性

from sklearn.ensemble import RandomForestClassifier

from yellowbrick.features.importances import FeatureImportances

model = RandomForestClassifier(n_estimators=10)

viz = FeatureImportances(model,size=(800, 600),title="随机森林算法分类训练特征重要性",xlabel='重要性评分')

viz.fit(X, y)

viz.poof()

分类报告

训练集、测试集分割

from sklearn.model_selection import train_test_split as tts

X_train, X_test, y_train, y_test = tts(X, y, test_size =0.2, random_state=10)

分类结果报告

from sklearn.ensemble import RandomForestClassifier

from yellowbrick.classifier import ClassificationReport

model = RandomForestClassifier(n_estimators=10)

visualizer = ClassificationReport(model, support=True,size=(800, 600),title="机森林算法分类报告")

visualizer.fit(X_train.values, y_train)

print('得分:',visualizer.score(X_test.values, y_test))

visualizer.poof()

得分: 0.7714285714285715

持久化保存

from sklearn.ensemble import RandomForestClassifier

model = RandomForestClassifier(n_estimators=10)

model.fit(X_train.values, y_train)

RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',

max_depth=None, max_features='auto', max_leaf_nodes=None,

min_impurity_decrease=0.0, min_impurity_split=None,

min_samples_leaf=1, min_samples_split=2,

min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=None,

oob_score=False, random_state=None, verbose=0,

warm_start=False)

from sklearn.externals import joblib

joblib.dump(model,'model.pickle') #保存

['model.pickle']

载入训练模型

model = joblib.load('model.pickle') #载入

model.predict(X_test) # 输出每组数据的预测结果的标签值

array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1,

0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0,

1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,

0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,

0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

1, 0, 1, 1, 0, 0, 0, 0], dtype=int64)

model.predict_proba(X_test) # 输出的是二维矩阵 ,第i行j列表示测试数据第i行测试数据在每个label上的概率

array([[1. , 0. ],

[0.9, 0.1],

[0.8, 0.2],

[1. , 0. ],

[0.9, 0.1],

[1. , 0. ],

[0.5, 0.5],

[0.8, 0.2],

[0.9, 0.1],

[1. , 0. ],

[0.4, 0.6],

[1. , 0. ],

[0.6, 0.4],

[0.3, 0.7],

[1. , 0. ],

[0.6, 0.4],

[0.9, 0.1],

[0.7, 0.3],

[1. , 0. ],

[0.9, 0.1],

[0.4, 0.6],

[0.4, 0.6],

[0.5, 0.5],

[1. , 0. ],

[0.8, 0.2],

[1. , 0. ],

[0.9, 0.1],

[0.5, 0.5],

[0.1, 0.9],

[0.9, 0.1],

[0.8, 0.2],

[0.6, 0.4],

[0.8, 0.2],

[0.9, 0.1],

[0.7, 0.3],

[1. , 0. ],

[0.2, 0.8],

[0.9, 0.1],

[1. , 0. ],

[1. , 0. ],

[1. , 0. ],

[0.9, 0.1],

[0.4, 0.6],

[0.7, 0.3],

[0.4, 0.6],

[0.9, 0.1],

[0.5, 0.5],

[0.1, 0.9],

[1. , 0. ],

[1. , 0. ],

[0.8, 0.2],

[0.7, 0.3],

[1. , 0. ],

[0.5, 0.5],

[0.8, 0.2],

[0.7, 0.3],

[0.9, 0.1],

[0.8, 0.2],

[0.3, 0.7],

[0.9, 0.1],

[1. , 0. ],

[0.9, 0.1],

[0.9, 0.1],

[0.9, 0.1],

[0.8, 0.2],

[0.9, 0.1],

[1. , 0. ],

[0.9, 0.1],

[0.4, 0.6],

[0.5, 0.5],

[0.9, 0.1],

[0.8, 0.2],

[0.6, 0.4],

[0.8, 0.2],

[1. , 0. ],

[1. , 0. ],

[0.8, 0.2],

[1. , 0. ],

[0.9, 0.1],

[0.6, 0.4],

[1. , 0. ],

[1. , 0. ],

[0.7, 0.3],

[1. , 0. ],

[0.8, 0.2],

[1. , 0. ],

[0.3, 0.7],

[0.9, 0.1],

[0.7, 0.3],

[0.5, 0.5],

[0.4, 0.6],

[1. , 0. ],

[0.9, 0.1],

[0.8, 0.2],

[0.8, 0.2],

[0.9, 0.1],

[0.8, 0.2],

[0.2, 0.8],

[0.7, 0.3],

[0.7, 0.3],

[0.4, 0.6],

[0.6, 0.4],

[0.7, 0.3],

[0.8, 0.2],

[1. , 0. ],

[0.5, 0.5],

[0.8, 0.2],

[1. , 0. ],

[0.9, 0.1],

[0.5, 0.5],

[0.8, 0.2],

[0.6, 0.4],

[0.8, 0.2],

[0.9, 0.1],

[0.9, 0.1],

[0.6, 0.4],

[0.8, 0.2],

[0.9, 0.1],

[0.1, 0.9],

[1. , 0. ],

[1. , 0. ],

[1. , 0. ],

[0.9, 0.1],

[0.6, 0.4],

[1. , 0. ],

[0.8, 0.2],

[0.8, 0.2],

[0.7, 0.3],

[0.9, 0.1],

[0.9, 0.1],

[0.5, 0.5],

[1. , 0. ],

[0.2, 0.8],

[0.9, 0.1],

[0.4, 0.6],

[0.2, 0.8],

[0.8, 0.2],

[1. , 0. ],

[0.8, 0.2],

[0.8, 0.2]])

新手可查阅历史目录:yeayee:Python数据分析及可视化实例目录​zhuanlan.zhihu.com

最后,别只收藏不关注哈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/513450.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

雅虎、领英接连退出中国,GitHub 会受到影响吗?

整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)继半个月前微软宣布关闭领英(即 LinkedIn)在华业务后,本周二,雅虎也宣布了最新消息:自 2021 年 11 月 1 日起,用户将无法从中国大…

高德打车构建可观测性系统实践

简介: 互联网工程的高速发展,分布式、微服务、容器化架构的流行,互联网已全面进入云原生时代。构建系统的方式由最初的单体大应用演变为分布式架构,一台服务器可能仅存几小时甚至几分钟,这种复杂性大大增加了把系统运行…

java script 代码放在jsp 还是放在servlet_ServletContext JSP

会话:四种:1 :Session–保存在服务器上默认的30分2:Cookie 客户端的,maxAge3:重写 url - > url;jsessionidxxxxxxx - > response.encodeRedirectUri(url);4:隐藏表单 1:Serv…

飞猪基于 Serverless 的云+端实践与思考

简介: 过去两年,飞猪前端一直在积极地进行 Serverless 建设和实践,2019 年 - 2020 年我们和集团 Node 架构组、研发平台一起完成了基础能力的建设和业务试点,成为集团率先落地 Serverless 实践的 BU,2020 年 - 2021 年…

unc 目录不受支持_Shopify平台对于店铺模版都提供哪些支持

在自定义Shopify模版之前,请确保您了解可用的支持级别。如果您要进行基本的自定义,则可以从模版开发人员处获取支持。如果您要对模版进行大量更改,请参阅我们的模版支持的其他资源列表。若要了解 Shopify 不支持的自定义,请参阅我…

CSS——定位、CSS高级技巧、修饰属性

1、定位 作用&#xff1a;灵活的改变盒子在网页中的位置 实现&#xff1a; 定位模式&#xff1a;position边偏移&#xff1a;设置盒子的位置 leftrighttopbottom 1.1 相对定位 position&#xff1a;relative <!DOCTYPE html> <html lang"en"> <…

数百万行自研代码都捐了,华为将欧拉捐赠给开放原子开源基金会

今天&#xff0c;操作系统产业峰会2021在北京国家会议中心线上线下同步举办。会上&#xff0c;华为携手社区全体伙伴共同将欧拉开源操作系统&#xff08;openEuler, 简称“欧拉”&#xff09;正式捐赠给开放原子开源基金会。这标志着欧拉从创始企业主导的开源项目演进到产业共建…

Hologres如何支持亿级用户UV计算

简介&#xff1a; 本文将介绍阿里云Hologres如何基于RoaringBitmap进行UV等高复杂度计算的方案&#xff0c;实现亿级用户万级标签亚秒级分析&#xff0c;帮助用户从Kylin平滑迁移到Hologres&#xff0c;实现更实时、开发更灵活、功能更完善的多维分析能力。 背景介绍 在用户行…

location 拦截所有_电脑广告拦截软件 Adguard Premium

每日一谈我们上个网的时候经常会遇到很多烦人的广告、在线跟踪等&#xff0c;不仅导致你的网站加载速度非常的慢&#xff0c;并且还可能会导致你遇到一些恶意软件和威胁。为了避免这种情况的产生&#xff0c;今天我为大家推荐这款广告拦截软件来阻止你浏览器中的广告&#xff0…

事务消息应用场景、实现原理与项目实战(附全部源码)

简介&#xff1a; 从应用场景出发&#xff0c;给出解决方案与实现原理&#xff0c;并提供整套工业级实现源码。 作者&#xff1a;丁威 活动中心场景介绍 在电商系统上线初期&#xff0c;往往会进行一些“拉新”活动&#xff0c;例如活动部门提出新用户注册送积分、送优惠券活…

mysql 别名 metadata_获取数据库元数据:DatabaseMetaData与ParameterMetaData与ResultSetMetaData...

(1)Meta-Data&#xff1a;关于数据的数据&#xff0c;在此是有关数据库和数据库表等数据库对象的信息&#xff1b;通过Connection的getMetaData()方法获得包含数据库元数据的DatabaseMetaData对象&#xff0c;然后在此对象上调用相关的方法获得对应的信息&#xff1b;(2)Databa…

request用法_3分钟短文:说说Laravel页面会话之间的数据保存Session用法

引言我们知HTTP请求是没有状态的&#xff0c;两个请求之间没有直接的关联关系。但大多数情况下&#xff0c; 我们需要保持用户的会话间数据的连续性&#xff0c;这时&#xff0c;为了数据安全起见&#xff0c; 有必要在服务器上临时存储一些上下文数据了。这就是 session 设计的…

调研邀请:我们到底需要什么样的低代码平台?

《乔布斯传》中有这样一段话&#xff1a;“有人会说&#xff0c;顾客想要什么产品就提供什么产品&#xff0c;但这并不是我的做事方式。我的职责是在人们还没有意识到需求之前&#xff0c;就研发出他们想要的&#xff0c;我们的任务是搞定那些还没有形成“定论”的事情。”这段…

面向K8s设计误区

简介&#xff1a; K8s 取其精华去其糟粕&#xff0c;是我们程序员应该做的事情。 K8s设计模式 Kubernetes是一个具有普遍意义的容器编排工具&#xff0c;它提供了一套基于容器构建分布式系统的基础依赖&#xff0c;其意义等同于Linux在操作系统中的地位&#xff0c;可以认为是…

电脑word在哪_word是什么?小学生:单词,大学生:论文排版工具

word是什么&#xff0c;对于不同人会有不同的理解&#xff0c;它可能只是一个单词&#xff0c;它也可能是一个排版工具。今天就以我自己的经历给大家讲述一下&#xff0c;人生的不同阶段&#xff0c;word分别是什么。一、小学阶段&#xff0c;好像是一个单词我们那个时候的小学…

Kubernetes 稳定性保障手册:洞察+预案

简介&#xff1a; 稳定性保障是个复杂的话题&#xff0c;需要有效、可迭代、可持续保障集群的稳定性&#xff0c;系统性的方法或许可以解决该问题。 作者 | 悟鹏 来源 | 阿里巴巴云原生公众号 《Kubernetes 稳定性保障手册》系列文章&#xff1a; ​ Kubernetes 稳定性保障手…

为啥学java要看那么多东西_编程语言那么多,为啥学Java的人那么多?

Java一直都是稳居排行榜第一的语言&#xff0c;在未来10年Java都会是最热门的语言之一&#xff0c;因为Java技术具有卓越的通用性、高效性、安全性和平台移植性&#xff0c;它可以跨平台的应用到不同的领域&#xff0c;工作需求足够大。为什么选择学习Java编程语言&#xff1f;…

墨奇科技:生物识别进入可信发展驱动的新阶段

编辑 | 宋慧 供稿 | 墨奇科技 头图 | 付费下载于视觉中国 在好莱坞电影大片中&#xff0c;经常有“换脸”或者指纹开锁的情节&#xff0c;戏中角色通过“戴上”足以以假乱真的“面皮”&#xff0c;或者按下“盗取”的指纹&#xff0c;顷刻之间就改变了身份&#xff0c;从而影…

安卓游戏开发用什么引擎_游戏开发学习第一天————用什么软件

今天开始了虚幻学习的第一天&#xff01;好的&#xff0c;那我们就开始学习做游戏吧&#xff01;始学习做游戏吧学习做游戏吧习做游戏吧做游戏吧游戏吧戏吧吧等等&#xff0c;要学做游戏啊。。。。。。第一步要做什么&#xff0c;我还完全不知道啊喂&#xff01;于是&#xff0…

360浏览器收藏夹_换了一台电脑,浏览器收藏的网站不见了,咋办?

导语&#xff1a;大家知道&#xff0c;用浏览器上网时&#xff0c;重要的网站要及时收藏&#xff0c;方便下次打开。但如果换电脑以后&#xff0c;收藏的网站就不见了。下面以360浏览器为例来说明一下工具&#xff1a;网络收藏夹、360浏览器说明&#xff1a;360的收藏夹就是网络…