sas神经网络:构建人工神经网络模型来识别垃圾邮件

Posted tecdat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sas神经网络:构建人工神经网络模型来识别垃圾邮件相关的知识,希望对你有一定的参考价值。

技术图片

 

原文链接http://tecdat.cn/?p=14033

 

神经网络是一种非常通用的灵活预测模型,可用于解决各种问题,包括分类,降维和回归。

现实世界中的一些业务应用示例包括图像处理,医疗诊断,金融服务和欺诈检测。此样本说明如何使用SAS®In-Memory Statistics中的NEURAL语句来构建人工神经网络模型来识别垃圾邮件。该示例中使用的数据集是机器学习存储库中的经典Spambase数据集。请注意,SAS®内存中统计信息具有直接将数据直接从URL加载到内存中的功能,而无需保存到磁盘,如示例所示。该示例还演示了如何执行以下任务:

1.对从不同点开始的几个“浅”神经网络进行预训练,以避免创建由于初始权重差而无效的神经网络。
2.从预训练的神经网络中选择最佳的神经网络,然后继续分析以训练更深的神经网络作为最终模型。
3.使用最终的神经网络模型对验证数据集评分。
4.使用评分结果和ASSESS语句执行模型评估。
5.根据ASSESS语句的结果绘制升力和ROC曲线。

 

  1.  
    libname mylasr sasiola host="grid001.example.com" port=10010 tag=‘hps‘;
  2.  
     
  3.  
    %let base = http://archive.ics.uci.edu/ml/machine-learning-databases;
  4.  
    data mylasr.spambase;
  5.  
    infile "&base/spambase/spambase.data" device=url dsd dlm=‘,‘;
  6.  
    input Make Address All _3d Our Over Remove Internet Order Mail Receive
  7.  
    Will People Report Addresses Free Business Email You Credit Your Font
  8.  
    _000 Money Hp Hpl George _650 Lab Labs Telnet _857 Data _415 _85
  9.  
    Technology _1999 Parts Pm Direct Cs Meeting Original Project Re Edu
  10.  
    Table Conference Semicol Paren Bracket Bang Dollar Pound Cap_Avg
  11.  
    Cap_Long Cap_Total Class;
  12.  
    run;
  13.  
     
  14.  
    proc imstat;

1.从不同点到预训练几个“浅”神经网络,避免创建因初始值不佳而无效的神经网络。
 

  1.  
     
  2.  
    /*input */ input=(make--cap_total) std=std
  3.  
    /*target*/ targetact=softmax targetcomb=linear error=entropy nominal=class
  4.  
    /*hidden*/ hiddens=(10) act=(logistic) combine=(linear)
  5.  
    /*prelim*/ numtries=5 maxiter=10 tech=congra
  6.  
    /*NLOP */ maxfunc=1000000 linesearch=2 fconv=1e-4 lower=-20 upper=20;

2.从预训练的神经网络中选择最佳的神经网络,然后继续分析以训练更深层的神经网络作为最终模型。
 

  1.  
     
  2.  
    /*NLOP */ maxfunc=1000000 linesearch=2 fconv=1e-4 lower=-20 upper=20;

3.使用经过训练的神经网络模型对分数进行验证。 ASSESS选项指定为所有级别的得分数据添加预测概率标称目标变量。 在此示例中,创建了两个级别,因为名为class的变量具有两个值0或1。计分的数据为存储在临时表中。
 

  1.  
     
  2.  
    input = (make--cap_total) nominal=class temptable assess vars = (class);

 4.使用评分结果执行模型评估。 所有级别的概率都在输出中,但是我们仅需要事件级别的概率。 WHERE子句仅用于选择具有事件级别的行。 剥离功能适用于删除字符变量_NN_Level_中的空格。

  1.  
     
  2.  
    proc lasr term port=&myport;
  3.  
    run;

5.根据ASSESS语句的结果绘制升力和ROC曲线。
 

  1.  
     
  2.  
    proc sgplot data=rocdata;
  3.  
    series x = one_minus_Specificity y = Sensitivity / lineattrs=(color=blue);
  4.  
    series x = one_minus_Specificity y = one_minus_Specificity / lineattrs=(color=black);
  5.  
    yaxis grid;
  6.  
    run;
  7.  
    quit;

 该模型信息表

技术图片?

分数信息表
技术图片?

提升曲线
技术图片?

ROC 曲线

 

技术图片?

 


参考文献

1.r语言用神经网络改进nelson-siegel模型拟合收益率曲线分析

2.r语言实现拟合神经网络预测和结果可视化

3.python用遗传算法-神经网络-模糊逻辑控制算法对乐透分析

4.用于nlp的python:使用keras的多标签文本lstm神经网络分类

5.用r语言实现神经网络预测股票实例

6.R语言基于Keras的小数据集深度学习图像分类

7.用于NLP的seq2seq模型实例用Keras实现神经机器翻译

8.python中基于网格搜索算法优化的深度学习模型分析糖

9.matlab使用贝叶斯优化的深度学习

 

以上是关于sas神经网络:构建人工神经网络模型来识别垃圾邮件的主要内容,如果未能解决你的问题,请参考以下文章

深度神经网络识别垃圾邮件

基于卷积神经网络(CNN)的中文垃圾邮件检测

毕业设计:深度学习卷积神经网络垃圾分类系统 - 深度学习 神经网络 图像识别 垃圾分类 算法 小程序

用PyTorch构建基于卷积神经网络的手写数字识别模型

多层感知机识别垃圾短信

[Python人工智能] 三十.Keras深度学习构建CNN识别阿拉伯手写文字图像