python数据分析与挖掘实战————银行分控模型(几种算法模型的比较)
一、神经网络算法:
1 import pandas as pd
2 from keras.models import Sequential
3 from keras.layers.core import Dense, Activation
4 import numpy as np
5 # 参数初始化
6 inputfile = 'C:/Users/76319/Desktop/bankloan.xls'
7 data = pd.read_excel(inputfile)
8 x_test = data.iloc[:,:8].values
9 y_test = data.iloc[:,8].values
10 inputfile = 'C:/Users/76319/Desktop/bankloan.xls'
11 data = pd.read_excel(inputfile)
12 x_test = data.iloc[:,:8].values
13 y_test = data.iloc[:,8].values
14
15 model = Sequential() # 建立模型
16 model.add(Dense(input_dim = 8, units = 8))
17 model.add(Activation('relu')) # 用relu函数作为激活函数,能够大幅提供准确度
18 model.add(Dense(input_dim = 8, units = 1))
19 model.add(Activation('sigmoid')) # 由于是0-1输出,用sigmoid函数作为激活函数
20 model.compile(loss = 'mean_squared_error', optimizer = 'adam')
21 # 编译模型。由于我们做的是二元分类,所以我们指定损失函数为binary_crossentropy,以及模式为binary
22 # 另外常见的损失函数还有mean_squared_error、categorical_crossentropy等,请阅读帮助文件。
23 # 求解方法我们指定用adam,还有sgd、rmsprop等可选
24 model.fit(x_test, y_test, epochs = 1000, batch_size = 10)
25 predict_x=model.predict(x_test)
26 classes_x=np.argmax(predict_x,axis=1)
27 yp = classes_x.reshape(len(y_test))
28
29 def cm_plot(y, yp):
30 from sklearn.metrics import confusion_matrix
31 cm = confusion_matrix(y, yp)
32 import matplotlib.pyplot as plt
33 plt.matshow(cm, cmap=plt.cm.Greens)
34 plt.colorbar()
35 for x in range(len(cm)):
36 for y in range(len(cm)):
37 plt.annotate(cm[x,y], xy=(x, y), horizontalalignment='center', verticalalignment='center')
38 plt.ylabel('True label')
39 plt.xlabel('Predicted label')
40 return plt
41 cm_plot(y_test,yp).show()# 显示混淆矩阵可视化结果
42 score = model.evaluate(x_test,y_test,batch_size=128) # 模型评估
43 print(score)
结果以及混淆矩阵可视化如下:

二、然后我们使用逻辑回归模型进行分析和预测:
import pandas as pd
inputfile = 'C:/Users/76319/Desktop/bankloan.xls'
data = pd.read_excel(inputfile)
print (data.head())
X = data.drop(columns='违约')
y = data['违约']
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1) model = LogisticRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
print(y_pred)
from sklearn.metrics import accuracy_score
score = accuracy_score(y_pred, y_test)
print(score)
def cm_plot(y, y_pred):
from sklearn.metrics import confusion_matrix #导入混淆矩阵函数
cm = confusion_matrix(y, y_pred) #混淆矩阵
import matplotlib.pyplot as plt #导入作图库
plt.matshow(cm, cmap=plt.cm.Greens) #画混淆矩阵图,配色风格使用cm.Greens,更多风格请参考官网。
plt.colorbar() #颜色标签
for x in range(len(cm)): #数据标签
for y in range(len(cm)):
plt.annotate(cm[x,y], xy=(x, y), horizontalalignment='center', verticalalignment='center')
plt.ylabel('True label') #坐标轴标签
plt.xlabel('Predicted label') #坐标轴标签
return plt
cm_plot(y_test, y_pred)
结果如下:

综上所述得出,两种算法模型总体上跑出来的准确率还是不错的,但是神经网络准确性更高一点。
python数据分析与挖掘实战————银行分控模型(几种算法模型的比较)的更多相关文章
- 学习参考《Python数据分析与挖掘实战(张良均等)》中文PDF+源代码
学习Python的主要语法后,想利用python进行数据分析,感觉<Python数据分析与挖掘实战>可以用来学习参考,理论联系实际,能够操作数据进行验证,基础理论的内容对于新手而言还是挺有 ...
- python数据分析与挖掘实战第二版pdf-------详细代码与实现
[书名]:PYTHON数据分析与挖掘实战 第2版[作者]:张良均,谭立云,刘名军,江建明著[出版社]:北京:机械工业出版社[时间]:2020[页数]:340[isbn]:9787111640028 学 ...
- 【读书笔记与思考】《python数据分析与挖掘实战》-张良均
[读书笔记与思考]<python数据分析与挖掘实战>-张良均 最近看一些机器学习相关书籍,主要是为了拓宽视野.在阅读这本书前最吸引我的地方是实战篇,我通读全书后给我印象最深的还是实战篇.基 ...
- python数据分析与挖掘实战
<python数据分析与挖掘实战>PDF&源代码&张良均 下载:链接:https://pan.baidu.com/s/1TYb3WZOU0R5VbSbH6JfQXw提取码: ...
- python 数据分析与挖掘实战01
python 数据分析与挖掘实战 day 01 08/02 这种从数据中"淘金",从大量数据包括文本中挖掘出隐含的.未知的.对决策有潜在价值关系.模式或者趋势,并用这些知识和规则建 ...
- 《Python数据分析与挖掘实战》读书笔记
大致扫了一遍,具体的代码基本都没看了,毕竟我还不懂python,并且在手机端的排版,这些代码没法看. 有收获,至少了解到以下几点: 一. Python的语法挺有意思的 有一些类似于JavaSc ...
- 《Python数据分析与挖掘实战》-第四章-数据预处理
点我看原版
- Python数据分析与挖掘所需的Pandas常用知识
Python数据分析与挖掘所需的Pandas常用知识 前言Pandas基于两种数据类型:series与dataframe.一个series是一个一维的数据类型,其中每一个元素都有一个标签.series ...
- R学习:《R语言数据分析与挖掘实战》PDF代码
分三个部分:基础篇.实战篇.提高篇.基础篇介绍了数据挖掘的基本原理,实战篇介绍了一个个真实案例,通过对案例深入浅出的剖析,使读者在不知不觉中通过案例实践获得数据挖掘项目经验,同时快速领悟看似难懂的数据 ...
随机推荐
- CentOS7搭建ntp时钟服务器
文章目录 服务器配置 远程客户端配置 服务器配置 # 关闭防火墙,selinux=disabled 1.# 服务器部署 [root@localhost ~]# yum -y install ntp n ...
- Spring Boot run()方法剖析
Spring Boot自动配置部分重点介绍了相关注解,关于main中调用的run方法并没有阐述过.run方法的作用是什么呢?只有注解没有main里的run方法Spring Boot工程就好比身体个方面 ...
- vue methods中的函数调用时带括号与不带括号的区别
@click='getList(id)',但是为什么有时候明明没有传参的需要,却要加上()呢? 百思不得其解,于是去查阅了相关的资料,意思就是,当不加括号直接调用这个函数是可以直接获取到这个事件对象的 ...
- WebGL 与 WebGPU比对[5] - 渲染计算的过程
目录 1. WebGL 1.1. 使用 WebGLProgram 表示一个计算过程 1.2. WebGL 没有通道 API 2. WebGPU 2.1. 使用 Pipeline 组装管线中各个阶段 2 ...
- kali主机探测命令与工具集
实验目的 熟悉ping.arping.fping.hping3.nbtscan.nping.p0f.xprobe2工具对目标主机的探测方法. 实验原理 目标识别工具发送特殊构造的数据包,根据返回的应答 ...
- 赶紧收藏!最好用的BI工具都在这了!
1.bi厂商--思迈特软件Smartbi 广州思迈特软件有限公司成立于2011 年,以提升和挖掘企业客户的数据价值为使命,专注于商业智能与大数据分析软件产品与服务.思迈特软件是国家认定的"高 ...
- “四大高手”为你的 Vue 应用程序保驾护航
全球都在处理数字化转型的问题,飞速发展的同时也为基础设施带来了一定的压力.同时许多黑客也在不断更新升级他们的攻击技术. 如果我们的应用程序有过多漏洞,被抓按住利用,就会变成大型芭比Q现场. 这也是为何 ...
- Linux中 du (详解)、 df (详解)和 free(详解)以及它们的区别
转至:https://blog.csdn.net/qq_19167629/article/details/80915834?utm_medium=distribute.pc_relevant_t0.n ...
- vue项目如何引用jquery
虽然vue不推荐直接操作DOM,而且也提供了操作DOM的方式.但是在某些时候还是要用到jquery,那么如何引入jquery呢? 费了半天劲,记录一下: 一 : 安装jquery npm instal ...
- 01-RocketMQ介绍
一.MQ介绍 1.什么是MQ?为什么要用MQ? MQ:MessageQueue,消息队列. 队列,是一种FIFO 先进先出的数据结构.消息由生产者发送到MQ进行排队,然后按原来的顺序交由消息的消费者进 ...