目录

1.选用数据集

2.SPSS实现神经网络

1.产生随机数来选择样本数据集

2.生成多层感知器

3.用bankloan.sav数据集进行实验,对数据集个体分类:是/否违约


1.选用数据集

实验选用SPSS自带数据集:bankloan.sav,该数据集涉及某银行在降低贷款拖欠率方面的举措。

2.SPSS实现神经网络

在SPSS中实现神经网络的构建可分为两个步骤:1.产生随机数来选择样本数据集;2.生成多层感知器。

1.产生随机数来选择样本数据集

在菜单中选择“转换→随机数生成器→设置起点→固定值→值(此处需输入数值)→确定”

<用于设定随机数种子,保证在以后生成的随机数一致>

菜单“转换→计算变量→目标变量(此处需输入自定义变量名称)→数字表达式(输入“2*RV.BERNOULLI(0.7)-1”)→确定”

<用于产生bernoulli(伯努利)分布数列,数列名即为输入的自定义名,括号中的0.7是对样本数据进行划分的标准,如随机抽取数据的70%值为1,30%值为-1>

2.生成多层感知器

菜单选择“分析→神经网络→多层感知器→变量(分别选入因变量、因子和协变量,按照数据集情况选择“协变量重新标度”)→分区(有“根据个案的相对数目随机分配个案”和“使用分区变量来分配个案”两种选择)→体系结构(可选择“体系结构自动选择”或“定制体系结构”)→训练(选择“训练类型”和 “优化算法”)→输出(选择需要输出的结果显示)→保存/导出/选项→确定”

3.用bankloan.sav数据集进行实验,对数据集个体分类:是/否违约

①转换→随机数生成器→设置起点→固定值→值(输入9191972)→确定

<此处设定固定值,是为了避免训练集和测试集内数据的不随机性,在值部分输入的数值可以随意输入,但下次如果还需要生成同样的随机数据集合,需选择同样的固定值>

②转换→计算变量→目标变量(输入partion)→数字表达式(输入“2*RV.BERNOULLI(0.7)-1”)→确定

<承接上步操作生成的随机数种子,用伯努利公式,随机抽取70%为训练集,30%为检验集,也就是测试集。公式:2*RV.BERNOULLI(0.7)-1的含义是将新的变量partion划分为1或-1,直接写RV.BERNOULLI(0.7),就能把新变量partion分为0或1>

输出结果如下:

③分析→神经网络→多层感知器→变量(“是否曾经违约[违约]”选入因变量、“教育水平[教育]”选入因子和“年龄[年龄]、当前雇方工作年限[工龄]、当前地址居住年限[地址]、家庭收入(千元)[收入]、负债收入比率(×100)[负债率]、信用卡负债(千元)[信用卡负债]和其他负债(千元)[其他负债]”选入协变量, 协变量重新标度选择“标准化”)→分区(选择“使用分区变量来分配个案”,将partion选入“分区变量”)→输出(全选)→保存(勾上“保存每个变量的预测值或类别”和“保存每个变量的预测拟概率”)→确定

<这里的“协变量重新标度”有标准化、正态化、调整后正态化和无,四种选项,可根据数据集的情况来选择,对数据进行预处理>

<此处选择“使用分区变量来分配个案”,并将partion选入分区变量中,意义为:接下来的模型训练直接使用之前随机划分好的训练集和测试集;这里也可以选择“根据个案的相对数目随机分配个案”这个选项,但如果之后再重复一遍操作,就不能保证下一次训练集和检验集里的数据与上一次的数据相同。使用该项目时,分区下有训练和检验两个部分,默认值为7和3,即训练集:检验集=7:3,若不想要该比例,也可以自己更改数值>

<输出部分可以全选,待结果出来之后再从输出结果中选择自己需要的结果>

保存:

输出结果如下:

此结果输出中显示了输入层、隐含层和输出层的构成(“偏差”未写出)及使用的函数。输入层由7个协变量、1个因子(包含5种类别)和偏差组成;隐含层只有一层,且该层的单元数有4个;输出层单元数有2个,分别为是否违约。

线条颜色越深,表示权重越大;属性所在方块面积越大,表示该属性在模型中的贡献值越大。

(附:也可在 “体系结构”中,选择“定制体系结构”,然后在“隐藏层数”中选择生成两层隐含层,如下图所示。但要注意的是,多增一层可能会导致数据过拟合的问题)

训练集的分类误差为15.6%,坚持分类误差为25.4%,可见此时的分类效果并不理想。

从下面红圈内的百分比可以看到,该模型的分类效果在实际看来并不理想。

盒图:

ROC曲线:

属性重要性:工龄>地址>信用卡负债>其他负债>收入>年龄>教育>负债率

SPSS实现神经网络(多层感知器)相关推荐

  1. 用 CvANN_MLP(OpenCV 的神经网络-多层感知器) 进行路牌判别

    原载于 用 CvANN_MLP 进行路牌判别. 这原是智能计算课程大作业. (有时候我真的不知道怎么措辞,应该用"分类识别",还是"判别",还是"断别 ...

  2. OpenCV 神经网络 - 多层感知器(MLP)

    一.简述 人工神经网络(ANN) 简称神经网络(NN),能模拟生物神经系统对物体所作出的交互反应,是由具有适应性的简单单元(称为神经元)组成的广泛并行互连网络. 二.M-P神经元 "M-P神 ...

  3. ANN-MLP(神经网络--多层感知器)

    来自:https://docs.opencv.org/master/dc/dd6/ml_intro.html#ml_intro_ann 与ML中同时构建和训练的许多其他模型不同,在MLP模型中,这些步 ...

  4. 【Python-ML】神经网络-多层感知器增加梯度检验

    # -*- coding: utf-8 -*- ''' Created on 2018年1月26日 @author: Jason.F @summary: 多层感知器实现,加梯度检验 训练集:http: ...

  5. 【Python-ML】神经网络-多层感知器

    # -*- coding: utf-8 -*- ''' Created on 2018年1月26日 @author: Jason.F @summary: 多层感知器实现 训练集:http://yann ...

  6. 感知器的c++实现_使用FastAI和PyTorch的多层感知器

    我将向您展示如何使用FastAIv1和Pytorch构建神经网络(多层感知器)并成功训练它以识别图像中的数字.Pytorch是一个非常流行的深度学习框架,FastAI v1是一个使用现代最佳实践简化训 ...

  7. 神经网络与机器学习 笔记—多层感知器(MLP)

    多层感知器(MLP) Rosenblatt感知器和LMS算法,都是单层的并且是单个神经元构造的神经网络,他们的局限性是只能解决线性可分问题,例如Rosenblatt感知器一直没办法处理简单异或问题.然 ...

  8. keras从入门到放弃(六)多层感知器(神经网络)

    多层感知器(神经网络) 从线性回归模型和对数几率回归模型本质上都是单个神经元 计算输入特征的加权 使用一个激活函数计算输出 单个神经元(二分类) 多和神经元(多分类) 但是单层神经元有缺陷 无法拟合& ...

  9. 神经网络入门回顾(感知器、多层感知器)

    神经网络属于"联结主义",和统计机器学习的理论基础区别还是很不一样. 以我自己的理解,统计机器学习的理论基于统计学,理论厚度足够强,让人有足够的安全感:而神经网络的理论更侧重于代数 ...

  10. 多层感知器及常见激活函数-深度神经网络DNN及计算推导

    多层感知器 在之前的博客中,我们了解到,感知器(指单层感知器)具有一定的局限--无法解决异或问题,即线性不可分的问题. 将多个单层感知器进行组合,就可以得到一个多层感知器(MLP--Multi-Lay ...

最新文章

  1. 监听指定端口数据交互(HttpListenerContext )
  2. Windows 10浏览器Edge和Chrome大比拼
  3. 陕西中小企业促进局 e-mail_重点注意2020陕西工程师职称评审破格指南
  4. js如何判断一个对象是不是Array
  5. 用Delphi编写ASP的ActiveX
  6. mysql初级知识梳理与练习
  7. 怎样在ppt中加入随机抽号_潮流女生怎样穿更时髦?经典中加入个性,减龄时尚还高级,快入坑...
  8. 跨域-(jsonp cors)
  9. python3怎么安装opencv_Python:即使安装了opencv,也无法导入cv2(如何为python3安装opencv3)...
  10. Vue-cli3 ,js根据汉字或拼音模糊搜索功能,汉字支持同音字、多音字,支持首字母
  11. 教师录微课及剪辑软件推荐
  12. Android开发艺术探索知识回顾——第0章 书本内容介绍
  13. 51单片机keilC软件安装和开发板 学习板串口驱动下载及安装 使用
  14. 14届数独-真题标准数独-Day 10-20220125
  15. 程序员超实用网站,留着总有用的着的时候
  16. C语言随机数独教程,C语言数独游戏的求解方法
  17. 微信小程序(3)——引入百度api天气信息全过程
  18. 【力扣】【初级算法】【数组10】有效的数独
  19. 计算机算法在生物信息学中的应用,引力场算法及其在生物信息学中的应用
  20. 大脑简史(3)-大脑的结构

热门文章

  1. 江苏大学毕业论文答辩PPT模板
  2. 极点五笔的一些快捷键
  3. 惠普打印机故障代码_惠普打印机出现故障怎么办
  4. Matlab实现Sandbox方法计算分形维数
  5. 某大厂算法工程师面试题详解,问题+答案
  6. STM8S单片机入门(前言)
  7. java计算机毕业设计高校多媒体设备报修管理系统源码+mysql数据库+系统+lw文档+部署
  8. XJTUSE计算机图形学总结笔记
  9. 百度地图javascriptAPI点击地图得到坐标(拾取坐标)
  10. (node:3872) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issue