SPSS实现神经网络(多层感知器)

目录

1.选用数据集

2.SPSS实现神经网络

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

2.生成多层感知器

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

1. 选用数据集

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

2.SPSS 实现神经网络

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

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

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

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

2. 生成多层感知器

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

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

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

SPSS实现神经网络(多层感知器)

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

SPSS实现神经网络(多层感知器)

输出结果如下:

SPSS实现神经网络(多层感知器)

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

SPSS实现神经网络(多层感知器)

SPSS实现神经网络(多层感知器)

SPSS实现神经网络(多层感知器)

保存:

SPSS实现神经网络(多层感知器)

输出结果如下:

SPSS实现神经网络(多层感知器)

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

SPSS实现神经网络(多层感知器)

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

SPSS实现神经网络(多层感知器)

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

SPSS实现神经网络(多层感知器)

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

SPSS实现神经网络(多层感知器)

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

SPSS实现神经网络(多层感知器)

盒图:

SPSS实现神经网络(多层感知器)

ROC曲线:

SPSS实现神经网络(多层感知器)

SPSS实现神经网络(多层感知器)

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

SPSS实现神经网络(多层感知器)

SPSS实现神经网络(多层感知器)

Original: https://blog.csdn.net/qq_51746700/article/details/121281475
Author: Lij未曾
Title: SPSS实现神经网络(多层感知器)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/688722/

转载文章受原作者版权保护。转载请注明原作者出处!

(1)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球