SAS数据挖掘实战篇【二】
从SAS数据挖掘实战篇【一】介绍完目前的数据挖掘基本概念之外,对整个数据挖掘的概念和应用有初步的认识和宏观的把握之后,我们来了解一下SAS数据挖掘实战篇【二】SAS工具的应用。首先来看一下SAS大概的一个软件界面。(这里面实际操作性较强,建议都打开软件,stepby step自己操作一遍,印象深刻)操作流程如下:
1 认识 SAS EnterpriseMiner
1启动SAS EM
方式1:首先打开SAS,然后在SAS命令栏输入miner,回车即可;
方式2:启动SAS,点击Solutions菜单下面的Analysis菜单下面的Enterprise Miner,即可启动SAS EM。
2建立工程和流程图
EM通过工程和流程图组织数据分析。每个工程可能有多个处理流程图,每个流程图可能包含多个数据分析。一般而言,每个流程图包括一个数据集的分析。
创建工程步骤:
1) 从SAS菜单创建工程
2) 为该工程输入工程名
3) 如果需要访问服务器,选择Client/Server选项,否则就不需要选择该项
4) 设置工程路径
5) 点击创建按钮,默认情况下生成一个流程图。
6) 选择流程图标题,输入流程图标题
3识别窗口组件
2 SAS EM挖掘过程
SEMMA概述
SAS公司将数据挖掘的核心过程分为抽样Sample、探索Explore、修整Modify、建模Model以及评估Assess几个阶段。
①抽样
从数据集中抽取有代表性的样本,样本应该大到不丢失重要的信息,小到能够便于操作。创建三个数据子集:(1)训练数据,用于拟合各种模型;(2)验证数据,用于评估各模型并进行模型选择避免过度拟合;(3)测试数据,用于对模型的普适性形成真实的评价。
②探索
使用可视化的方法或主成分分析、因子分析、聚类等统计方法对数据集进行探索分析,发现未曾预料的趋势和异常情况,对数据形成初步理解,寻求进一步分析的思路。
③修整
包括生成和转换变量,发现异常值,变量选择等。
④模型
针对数据集选择适当的模型进行建模。
⑤评估
评估模型的实用性、可靠性和效果。
3 SAS EM结点介绍
主要针对下面的几个图标进行介绍:
----------------------------------------------------------------------------
①抽样
输入数据源节点主要用于读取数据和定义数据的属性。
抽样节点主要通过随机抽样、层次抽样和聚类抽样三种技术对数据集进行抽样。对于非常大的数据库,抽样非常重要,这样处理可以减少模型的训练时间。
数据划分节点主要用于将数据集划分为训练集、测试集以及验证集。训练集主要用于模型的训练。验证集主要用来调整估计阶段的模型和模型评估阶段。测试数据集是一种另外的数据集,主要用于模型评估。该节点使用简单随机抽样、层次抽样或者用户自定义的划分来创建划分数据集。
-------------------------------------------------------------------------------------------------------------------
②探索
分布探索节点用于探索大量数据,并且通过可视化的方式对数据进行展示,譬如多维直方图等等。
多图节点也是一种可视化的方式显示大量数据。与观察节点和分布探索节点不一样的是,该节点能够自动创建柱状图和散点图。
观察节点可以打开SAS/INSIGHT会话。它是一种数据探索和分析的交互式工具。
关联规则节点主要用来识别数据之间的关联关系。
变量选择节点主要用于评估预测或者分类目标变量中输入变量的重要性。为了选择重要的输入,该节点使用R平方标准或者卡方标准选择变量。
链接分析节点用于发现复杂系统中链接之间的效果,从而发现活动的模式得到有用的结论。
-------------------------------------------------------------------------------------------------------------------
③调整
数据集属性节点可以用来修改数据集属性,譬如数据集名称,描述和角色。同时,还可以修改样本数据集的元数据以及定义目标变量的资料。
转换变量节点用于转换变量,譬如计算自然对数,最大化和目标的相关性或者规范化变量。
过滤异常节点使用过滤器排除训练数据集中的某些观测值,譬如异常点或者其他观测值,即不包含在数据挖掘分析中的数据集。但是,该节点不能过滤验证数据集、测试数据集以及打分数据集中的异常点。
替换节点用于对有缺失值的观测值进行插值。对于区间变量,可以采用平均值、中值、中间区间、基于分布的替换等等来替换缺失值。另外,还可以使用基于决策树的方法插值。对于类别变量来说,可以使用最频繁发生的事件的值替换缺失值,基于分布的替换,基于决策树的插值或者常量也可以用来处理类别变量的缺失值。
聚类节点主要用于对数据的划分,识别具有相似性的观测值。相似的观测值在相同的聚类中,不同的观测值在不同的聚类中。
SOM节点产生自组织映射,Kohonen网络以及向量数量化网络。尤其是,该节点执行非监督学习,理解数据的结构。与聚类节点类似,在网络映射创建好以后,数据的特性可以通过图形化的方式来浏览。
时间序列节点主要用于预测趋势和季节性因素的影响。时间序列数据时给予时间间隔的。
-------------------------------------------------------------------------------------------------------------------
④模型
回归模型节点用于拟合线性和逻辑回归模型,可以使用连续变量、顺序变量和二值目标变量,同时可以使用连续变量和离散变量作为输入。该节点支持前向、后向和双向的选择方法。
树节点在名义变量、顺序变量和连续变量的基础上对数据库执行多路划分。该节点同时支持自动化和交互性训练。当在自动模式下运行树节点时,它能够在变量对树模型贡献的基础之上自动对输入变量进行排序。这种排序可能被用来作为接下步骤选择变量的方法。另外,它所产生的哑变量也可用在接下来的建模过程中。交互式训练可以用来探索和评价比较大和复杂的树。
神经网络节点用于构建、训练和验证多层前向神经网路。一般来说,每个输入是完全和第一个隐藏层连接,每个隐藏层和接下来的隐藏层完全相连,最后的隐藏层和输出是完全连接的。该节点还支持一般形式的多种变种形式。
主成分分析节点用于拟合非线性模型。并且,该节点也可以执行主成分分析,将打分的主成分传递给后面的节点。在训练神经网络时,目标变量必须是二值或者区间变量,但在进行主成分分析时不需要目标变量。
用户自定义模型用于产生使用模型中SAS代码节点生成的预测值或者变量选择节点的评估统计信息。预测值可以保存在sas数据集中,然后将其导入到流程的数据输入节点中。
集成节点用来组合模型,它比单个模型更加稳定。当独立的模型相关性越低时,组合模型更加有效。该节点创建三种组合方式:
组合模型:例如组合决策树模型和神经网络模型。组合函数是预测值的平均值。
层次模型:在一个或者多个变量上面执行分组处理。在这种情况下,由于数据集中每行是通过独立的模型进行打分,并且依赖于一个或者多个变量,因此该模型没有组合函数。
袋和步进模型:袋和步进模型是通过重抽样训练数据集,为每个样本拟合独立的模型。对预测值(区间目标变量)或者先验值(分类变量)进行平均产生集成模型。袋模型使用随机抽样代替创建n个样本。每个观测值的权重是相等的。步进模型对每个训练观测值进行自适应重置权重。对于先前经常误分类的模型,重抽样的权重是逐渐增加的。因此,观测值权重的分布是建立在模型先前抽样的性能的基础之上。步进模型需要一个类型目标变量。
基于内存的推理节点是根据案例集寻找出和新的观测值相似的案例集。在SAS EM中,基于内存的推理模型节点使用K最近邻居算法分类或者预测观测值。
双阶段模型节点用于计算预测分类目标和区间目标的双阶段模型。区间目标变量经常和类别目标的某个级别相关联。
-------------------------------------------------------------------------------------------------------------------
⑤评估
评估节点为模型比较提供共同的框架。模型比较是建立在期望和实际利润或者损失的基础之上。它提供几种图表帮助描述模型的有效性,譬如提升图和利润/损失图表。
报表节点将整个流程分析的结果导入到HTML报表中,可以通过网页浏览器来查看。每个报表包括表头信息,处理流程图片以及每个节点的单独报告。
-------------------------------------------------------------------------------------------------------------------
其他类型节点:打分节点
打分节点是从训练模型中产生和管理预测值。打分公式主要用来评估和预测。SAS EM以sas数据步代码的形式产生和管理打分公式。
C打分节点将SAS数据步的代码转换成c语言的形式。
其他类型节点:实用节点
分组处理节点针对分类变量执行分组处理。并且,也可以用来分析多目标,对同样的数据源进行重复处理。
数据挖掘 数据库节点为批处理创建数据挖掘数据库。
SAS代码节点用来添加新的或者已经存在的sas代码到处理流程图中。SAS code节点能够将其他的sas过程加入到数据挖掘分析过程中。并且,也可以用SAS数据步创建自定义的评分代码,从而有条件地进行数据连接和合并操作。该节点还提供宏功能,动态的关联到训练数据集、验证数据集和测试数据集中的变量。运行完SAS code节点之后,结果集合数据集可以被导出用于后面的节点。
控制点节点用于减少节点连接的步骤。例如,假设三个输入数据源节点和三个建模节点连接。如果没有使用控制点节点,需要9个链接完成。然而,如果使用控制点节点,只需要6次连接操作。
子图节点将整个流程图划分为不同的分组。对于复杂的处理流程图,需要创建子图来更好的设计和控制流程。
结点使用的一般规则
在过程流程图中放置结点的一般规则:
a)不能将任何结点放在输入数据源结点之前。
b)在抽样结点前面必须有用于导出数据集的结点。
c)评估结点之前必须有一个或者多个模型结点。
d)评分结点和评分转换结点之前必须有用于产生打分的结点。任何修改数据结点和创建模型结点都会产生打分结点。
e)SAS源代码结点可以定义在流程图的任何步骤。它不需要由输入数据源结点定义的数据集。