SAS 82 Enterprise Miner数据挖掘实例.docx

上传人:b****4 文档编号:5917377 上传时间:2023-05-09 格式:DOCX 页数:35 大小:746.39KB
下载 相关 举报
SAS 82 Enterprise Miner数据挖掘实例.docx_第1页
第1页 / 共35页
SAS 82 Enterprise Miner数据挖掘实例.docx_第2页
第2页 / 共35页
SAS 82 Enterprise Miner数据挖掘实例.docx_第3页
第3页 / 共35页
SAS 82 Enterprise Miner数据挖掘实例.docx_第4页
第4页 / 共35页
SAS 82 Enterprise Miner数据挖掘实例.docx_第5页
第5页 / 共35页
SAS 82 Enterprise Miner数据挖掘实例.docx_第6页
第6页 / 共35页
SAS 82 Enterprise Miner数据挖掘实例.docx_第7页
第7页 / 共35页
SAS 82 Enterprise Miner数据挖掘实例.docx_第8页
第8页 / 共35页
SAS 82 Enterprise Miner数据挖掘实例.docx_第9页
第9页 / 共35页
SAS 82 Enterprise Miner数据挖掘实例.docx_第10页
第10页 / 共35页
SAS 82 Enterprise Miner数据挖掘实例.docx_第11页
第11页 / 共35页
SAS 82 Enterprise Miner数据挖掘实例.docx_第12页
第12页 / 共35页
SAS 82 Enterprise Miner数据挖掘实例.docx_第13页
第13页 / 共35页
SAS 82 Enterprise Miner数据挖掘实例.docx_第14页
第14页 / 共35页
SAS 82 Enterprise Miner数据挖掘实例.docx_第15页
第15页 / 共35页
SAS 82 Enterprise Miner数据挖掘实例.docx_第16页
第16页 / 共35页
SAS 82 Enterprise Miner数据挖掘实例.docx_第17页
第17页 / 共35页
SAS 82 Enterprise Miner数据挖掘实例.docx_第18页
第18页 / 共35页
SAS 82 Enterprise Miner数据挖掘实例.docx_第19页
第19页 / 共35页
SAS 82 Enterprise Miner数据挖掘实例.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

SAS 82 Enterprise Miner数据挖掘实例.docx

《SAS 82 Enterprise Miner数据挖掘实例.docx》由会员分享,可在线阅读,更多相关《SAS 82 Enterprise Miner数据挖掘实例.docx(35页珍藏版)》请在冰点文库上搜索。

SAS 82 Enterprise Miner数据挖掘实例.docx

SAS82EnterpriseMiner数据挖掘实例

 

SAS8.2EnterpriseMiner数据挖掘实例

 

 

1.SAS8.2EnterpriseMiner简介

数据挖掘就是对观测到的庞大数据集进行分析,目的是发现未知的关系和以数据拥有者可以理解并对其有价值的新颖方式来总结数据。

[1]

一个数据挖掘工程需要足够的软件来完成分析工作,为了计划、实现和成功建立一个数据挖掘工程,需要一个集成了所有分析阶段的软件解决方案,包括从数据抽样到分析和建模,最后公布结果信息。

大部分专业统计数据分析软件只实现特定的数据挖掘技术,而SAS8.2EnterpriseMiner是一个集成的数据挖掘系统,允许使用和比较不同的技术,同时还集成了复杂的数据库管理软件。

SAS8.2EnterpriseMiner把统计分析系统和图形用户界面(GUI)集成在一起,并与SAS协会定义的数据挖掘方法——SEMMA方法,即抽样(Sample)、探索(Explore)、修改(Modify)建模(Model)、评价(Assess)紧密结合,对用户友好、直观、灵活、适用方便,使对统计学无经验的用户也可以理解和使用。

EnterpriseMiner简称EM,它的运行方式是通过在一个工作空间(workspace)中按照一定的顺序添加各种可以实现不同功能的节点,然后对不同节点进行相应的设置,最后运行整个工作流程(workflow),便可以得到相应的结果。

2.EM工具具体使用说明

EM中工具分为七类:

⏹Sample类包含InputDataSource、Sampling、DataPartition

⏹Explore类包含DistributionExplorer、Multiplot、Insight、

Association、VariableSelection、LinkAnalysis

(Exp.)

⏹Modify类包含DataSetAttribute、TransformVariable、Filter

Outliers、Replacement、Clustering、SOM/Kohonen、

TimeSeries(Exp.)

⏹Medel类包括Regression、Tree、NeuralNetwork、

Princomp/Dmneural、UserDefinedModel、Ensemble、

Memory-BasedReasoning、TwoStageModel

⏹Assess类包括Assessment、Reporter

⏹Scoring类包括Score、C*Score

⏹Utility类包括GroupProcessing、DataMiningDatabase、SAS

Code、Controlpoint、Subdiagram

每个节点的具体使用方法可以在EM打开界面,选择SAS主菜单中帮助子菜单中的“EM参考资料”选项,进一步查看各个节点的具体使用方法。

下面我们将以客户商品信息为例来建立如下的工作流程,从而引导我们学会使用EM(EnterpriseMiner)。

3.定义商业问题

假设有一家目录服务公司每个月都要向发出一份服饰用品和家用器皿的商品目录。

为了更好的面对商品战,公司打算发出一张主要宣传厨房用品(dining),包括厨具(kitchenware)、器皿(dishes)和餐具(flatware)的目录。

由于对所有的客户发送目录的成本是公司无法承受的,所以公司需要把目标锁定在那些有购买倾向的客户。

我们可以通过EM来建立一个倾向模型来完成这个任务,从而得到一个邮寄对象列表。

要完成这个任务我们需要准备好关于客户购买产品记录的数据库表,表中应该包含近两年内客户是否购买了厨具(kitchenware)、器皿(dishes)和餐具(flatware)的数据,以及其他与客户购买倾向相关的变量。

我们这里根据客户购买的历史数据建立起来了数据集(数据库表)CUSTDET1,它包含了49个变量。

上表中的TotalDining(kitch+dish+flat)变量是我们新建的变量,它的值等于KitchenProduct、DishesPurchase和FlatwarePurchase三个变量的值的和,这个变量可以用来预示客户购买厨房用品(dining)的倾向,同时也是建模的基础。

当建立好这个数据集以后,相当于我们已经为我们的挖掘准备好了数据源,接下来我们就可以在EM的工作空间(workspace)里建立我们的挖掘工作流程(workflow)了。

4.创建一个工程

4.1调用EM

启动SAS系统后,有两种方式调用EM,一种是通过菜单调用,一种是通过在命令窗口输入命令调用。

⏹菜单方式

在SAS系统主菜单中选择“解决方案—〉分析—〉企业数据挖掘”

⏹命令方式

在SAS命令窗口输入miner后按回车。

4.2新建一个工程

在EM窗口打开后,建立一个新数据挖掘工程的步骤如下:

(1)在SAS主菜单中选择“文件—〉新建—〉项目”,会出现建立新项目的对话框,在Createnewproject窗口中的Name域输入DiningList。

(2)单击Create按钮后,DiningList工程名将显示在EM窗口的左侧,下面是默认的工作流的名称Untitled,单击Untitled输入新的工作流名称Propensity,如下图所示,则一个名为Propensity的工作流程就建立起来了。

4.3应用工作空间中的节点

EM中的挖掘程序需要通过设置相应的节点的方式实现,节点是EM的一个重要组成部分,在EM中的挖掘任务都是通过拖拽、右单击、双击节点等操作实现的。

在图3中单击左下方的tools标签,所有可以使用的带名称的节点分组列表显示。

部分工具也可以通过EM窗口顶部的菜单栏来选择,将鼠标在相应的节点上停留1-2秒钟可以显示节点的名称。

5.数据挖掘工作流程

EM工作流程主要包括六个环节:

定义数据源(InputDataSource)、探索数据(Exploredata)、为建模准备数据(Preparedataformodeling)、建立模型(Buildmodel)、评价模型(Evaluatemodel)和应用模型(Applymodel),每个环节可能由一个或多个节点来完成。

5.1定义数据源

EM定义数据源的工具是InputDataSource节点,利用InputDataSource节点引入一个数据源的过程如下:

(1)在名为InputDataSource的节点上按住鼠标左键,将其拖拽到EM窗口右侧的空白工作区中释放,则工作区中会出现一个新的InputDataSource节点。

双击该节点会出现InputDataSource窗口

(2)单击select按钮,会出现SASDataSet窗口,其中SASUSER为默认数据集库。

tables下面是SASUSER库中所有可以选择的数据集,这里我们选择CUSTDET1作为我们的数据源。

(3)选择CUSTDET1后单击OK按钮可以返回到InputDataSource窗口

可以看到当选择完数据源以后,EM会自动创建节点输出数据和元数据样本。

元数据样本的默认容量(size)是2000,当数据源的记录小于2000时,元数据容量会等于数据源的大小。

如果需要改动元数据样本大小可以通过单击change按钮实现。

(4)选择完数据源后关闭InputDataSource会弹出对话框,

(5)单击“是”按钮保存修改返回到EM工作区,EM会自动将InputDataSource节点名称改为所选数据集的名称。

5.2探索数据

数据源中的缺失值、边界值、不规则分布都可能会影响到挖掘得建模甚至歪曲挖掘得结果。

所以,清楚的了解数据源的内容和结构对于建立一个数据挖掘项目来说是非常重要的。

5.2.1设置Insight节点

EM实现探索数据的步骤如下:

(1)将Insight节点拖拽到工作区中方在名为SASUSER.CUSTDET1的InputDataSource节点下方。

(2)连接InputDataSource节点和Insight节点:

A.单击空白工作区

B.将鼠标箭头移动到InputDataSource节点边缘,使鼠标箭头变为十字形状

C.按住鼠标左键滑动到Insight节点后释放,单击空白工作

D.出现从InputDataSource到Insight的一个箭头

(3)双击Insight节点,出现InsightSettings窗口

由于不同的数据源的数据量可能不同,而且有些数据源的数据量可能是非常巨大的,所以Insight节点默认抽取2000条数据记录来探索数据源,当数据源的记录数小于2000时,可以选择InsightBasedOn设置中的Entiredataset来改变探索数据的样本数量。

(4)单击Entiredataset后关闭InsightSettings窗口,在弹出对话框中单击“是”保存设置

5.2.2察看Insight节点输出结果

当设置完Insight节点之后,通过运行该节点可以查看探索数据的结果,其过程如下:

(1)右单击Insight节点,在弹出菜单中选择Run运行该节点,运行过程中节点的四周会变成绿色,运行完毕会有运行结果的提示对话框

(2)单击“是”可以察看运行结果。

Insight运行结果将数据源以二维表视图的形式显示

(3)单击SAS主菜单中的“分析”,选择下拉菜单中的“分布”,将弹出选择察看分布的变量的窗口

(4)单击第一个变量PURCHASE后将滚动条拖到最后一个变量,按住Shift键单击最后一个变量SEX,当所有的变量都被选择上后单击“Y”按钮,然后确定,会出现所有变量的分布窗口。

其中包括每个变量的分布图和一些重要的统计变量以及一组分位数。

在这个例子中我们重点要看的是DINING的分布。

可以看到DINING的值从0到28,0值居多。

那么我们要建立预测客户购买Dining产品倾向的模型,应该把目标锁定在目标变量Dining的值大于0的客户身上。

(5)数据探索完毕,关闭分布窗口和EMDATA.VIEW_QMY窗口返回到EM工作区。

5.3准备建模数据

此例将准备建模数据阶段分成了四个环节:

建立目标变量、设置目标变量、数据分割和替换缺失值。

5.3.1建立目标变量

前面已经分析了我们的目标人群是Dining变量大于0的客户群,但是对于目前数据集SASUSER.CUSDET1中的Dining变量的值是从0到28的一个分布,而我们只关心Dining值大于或者小于0,所以这里要对Dining变量作个转换,让大于0的Dining值为1。

EM中用来建立变量的工具是TransformVariables节点,步骤如下:

(1)将TransformVariables节点拖拽到工作区中InputDataSource节点的右侧连接InputDataSource节点到TransformVariables节点

(2)双击TransformVariables节点,出现Transformvariables窗口

(3)单击工作区上方工具栏中的Createvariable图标

,出现CreateVariable窗口

(4)在Name区域输入Dinebin,在Label区域输入DiningNo/Yes

(5)单击Define,出现Customize窗口

(6)在DINEBIN(N)=formula域中输入“dining〉0”

(7)单击OK按钮,关闭TransformVariable窗口,选择“是”保存修改,则DINEBIN即为我们建立好的目标变量。

5.3.2设置目标变量

EM实现对目标变量的设置使用的工具是DataSetAttributes节点

(1)将DataSetAttributes节点拖放到TransformVariable节点右侧

(2)连接TransformVariable节点到DataSetAttributes节点

(3)双击DataSetAttributes节点,出现DataSetAttributes窗口

(4)单击Variables标签

(5)找到DINEBIN变量,右单击DINEBIN变量的NewModelRole属性(input值),选择弹出菜单中的SetNewModelRole,选择target,则原来的input值变为target值

在这个建立和设置目标变量的过程中隐藏着一个问题。

DINEBIN的值是建立在DINING的基础上的,而DINGING的值又是建立在另外三个变量KITCHEN,DISHES和FLATWARE的基础上的,这将导致目标变量与这四个预测变量之间的完全线性相关。

这样就产生了一个逻辑循环,即输入导出的预测值是我们已知的,也就是说这种输入的结果是我们通过已知变量就可以知道的,而失去了预测的意义。

所以,在我们建立预测模型时必须将形成目标变量的四个变量排除在外。

(6)在DataSetAttributes窗口中分别找到KITCHEN、DISHES、FLATWARE和DINING变量,右键单击变量的NewModelRole属性值,在弹出菜单中选择SetNewModelRole,选择rejected,即将KITCHEN、DISHES、FLATWARE和DINING的NewModelRole属性值改为rejected。

EM建立预测模型要求确定变量的数据类型。

EM能够识别的数据类型有五种:

unary——只有唯一值型、binary——只有两个值型、nominal——两个以上的无序非数字值型、ordinal——多于两种情况的小于10的数值型和interval——大于10的数值型,例如:

(7)在DataSetAttributes窗口,右键单击DINEBIN变量的NewMeasurement属性值,在弹出菜单中选择SetNewMeasurement,选择binary,则DINEBIN变量的NewMeasurement属性值被改为binary

在我们建模的时候,EM会默认目标事件为目标变量排序的第一个值,默认排序方法为升序。

我们这里的目标变量DINEBIN只有0和1值,1值代表对厨房用品的购买。

所以这里需要将目标变量按降序排列来锁定那些有购买倾向的客户群。

(8)在DataSetAttributes窗口,单击ClassVariables标签,找到DINEBIN变量,右键单击变量的NewOrder属性值,选择SetNewOrder,选择Descending

当设置好目标变量的元数据特征(包括数据类型,排序等)后,下一步我们要对目标变量的商业属性进行设置。

由于我们对目标变量的预测值将涉及到我们的商业决策,而任何商业决策都要承担一定的成本。

建立数据挖掘预测模型,明确预测模型的隐含成本是非常重要的,因为错误的预测结果与真实结果巧合相同的概率太小了,我们更不应该存有这种侥幸心理。

在本例中,生产、印刷和邮寄一份宣传单的成本为$10;

每份宣传单的收入为$90;

这样的话,我们的预测将涉及到如下的产出:

正确的预测:

发出目录,客户购买,平均利润为$80(90-10);

错误的预测:

发出目录,客户没有购买,固定成本为$10;

任何模型的建立都必须考虑到正确的预测和错误的猜测所带来的不同结果,在应用一个预测模型之前,必须明确商业问题的成本结构及其对建模的含义。

EM提供了一种直接定义“收入—成本”矩阵的方法

(9)单击DataSetAttributes窗口的Variables标签,找到DINEBIN变量,右键单击变量所在行的NewModelRole属性,在弹出菜单中选择Edittargetprofile,出现如下对话框,

选择“是”,将出现TargetProfilesforDINEBIN窗口

其中,Profiles标签下面列出了每一个目标变量描述文件的简单描述和激活状态,当前的激活文件将在该文件前面的Use属性框中打“*”,当前只有一个默认的激活文件,名为Profile。

(10)单击Target标签,可以查看目标事件的定义,单击levels可以查看不同事件的分布

(11)单击AssessmentInformation标签,出现默认的决策矩阵

(12)在左边对话框的空白区域的单击鼠标右键,选择Add,出现新增的名为Profitmatrix的新矩阵;单击该Profitmatrix,在右侧的Name域输入Diningmatrix,替换Profitmatrix。

(13)单击EditDecisions按钮,出现EditingDecisionsandUtilities窗口

(14)选择Maximizeprofitwithcosts,将Decision为1的Cost值改为10;其他内容不变。

关闭窗口,选择“是”保存修改。

此处修改EditingDecisionsandUtilities的含义为:

当DINEBIN值为1的时候,我们会发出邮件,那么我们的固定成本为$10;而当DINEBIN为0时,我们不发出邮件,那么成本为0。

当设置好成本矩阵后,我们接下来要做的是确定期望收入

在TargetProfilesforDINEBIN窗口中,Name域下面的LEVEL矩阵中,行属性1代表有购买行为,0代表没有购买;列属性1代表有目录发出,0代表没有目录发出。

所以,对于本例,LEVEL都为1时,表示有目录发出同时客户购买,那么按照前面我们分析过的目标变量的商业属性,此时将有$90的期望收入;当LEVEL的值都为0以及LEVEL行为0,列为1时,没有购买行为,所以将产生0收入;而LEVEL行为1,列为0时,表示没有订单发出却产生购买,这显然是个不合理的结论,所以保持它的值。

(15)将LEVEL都为1的矩阵框填入90,将LEVEL都为0的矩阵框中填入0,其他值保持0不变。

(16)右键单击TargetProfitmatrix列表中的Profitmatrix,选择Settouse,在Profitmatrix的前面将出现“*”

在TargetProfilesforDINEBIN窗口中可能涉及到的最后一个设置是Prior标签。

对于商业建模来说,我们要挖掘的数据量可能是非常巨大的,可能会涉及到抽样的过程,我们这里使用的CUSTDET1本身是对原有数据集的随机抽样,这种随机抽样可能会导致目标变量分布的改变。

例如在本例中,总体数据中的目标变量占12%,而通过抽样得到的CUSDET1中,TARGET所占百分比达到了54%,这种抽样保留了更多的TARGET事件,被称作OverSampling。

OverSampling对于TrainingData有足够的数据来建模是有必要的,但是对于测试数据,则需要在EM中指出原有数据的TARGET的真实分布。

解决这个问题我们是通过设置Prior标签来实现的。

(17)在TargetProfilesforDINEBIN窗口中,单击Prior标签,在左边窗口空白处单击鼠标右键,选择Add,会出现新增加的Priorvector选项。

(18)单击Priorvector,分别将右侧的TargetValue为1和0的PriorProbability的值改为0.12和0.88,将Name改为PriorDining后按回车,则新增加的Priorvector将变为PriorDining

(19)右键单击Priorvector,选择Settouse,则Priorvector前面会打上“*”

(20)关闭TargetProfiles窗口,关闭DataSetAttributes窗口,分别在弹出对话框中选择“是”保存修改。

到此为止,目标变量的设置就全部结束了。

5.3.3数据分割

EM实现数据分割的工具是DataPartition

(1)将DataPartition节点拖到工作区中,放到DataSetAttribute的右边,连接DataSetAttribute节点到DataPartition节点;

(2)双击DataPartition节点,窗口中默认出现Partition标签,将标签中的设置修改如下:

其中,Method表示选择划分训练数据、检验数据和测试数据的方法,此处选择随机抽取数据,Percentages表示分割后的不同角色数据集所占的比例,对于RandomSeed,可以通过单击GenerateNewSeed按钮来改变产生种子的方式。

(3)关闭窗口,保存修改,完成数据分割。

5.3.4替换缺失值

由于EM中的很多建模工具,包括回归模型和神经网路模型在建模的过程中会忽略含有缺失值的记录,这样会缩减训练数据集参与预测建模的数据量,如图

所以,在使用回归和神经网络模型工具之前必须对缺失值进行处理。

EM处理缺失值的工具是Replacement节点

(1)将Replacement节点拖到工作区中,放在DataPartition节点右侧,连接DataPartition节点到Replacement节点

(2)双击Replacement节点,出现Replacement窗口,默认出现的是Defaults和General标签

EM在运行Replacement节点的时候,首先会生成一个训练数据的随机样本,在这个样本的基础上,按照如下规则替换缺失值:

⏹Interval类型的变量,用样本均值替换缺失值;

⏹Binary、nominal和ordinal类型的变量,用样本中的高频值替换缺失值。

有些数据存储,采用特殊值代替缺失值,比如所有的缺失值都用999代替,这种情况下,我们可以通过选择Replacebeforeimputation,同时在Constantvalues二级标签里面进行缺失值替换规则设置,本例中不涉及到替换规则的改变

(3)单击Createimputedindicatorvariables选项左侧的方框,选择此框后,当运行Replacement节点的时候,系统会生成一系列以M为前缀的Binary类型的变量,当某个观测中的某个变量为缺失值的时候,那么系统会将与缺失值变量相关联的以M开头的Binary变量的值赋成“1”,这样,对于回归模型和神经网络模型,就可以用这些替代值来建模了。

(4)关闭Replacement窗口,保存修改。

5.4建模

本例中我们建立的是响应模型,一般来讲,回归模型和决策树模型是建立定位模型的比较适合的工具。

5.4.1回归模型

EM实现回归建模的工具是Regression节点。

回归包括线性回归和逻辑回归,当目标变量为ordinal或者binary类型的数据的时候,即目标变量为非连续变量的时候,所以我们应该采用逻辑回归建模。

(1)将Regression节点拖到工作区中放到Replacement节点的下方,连接Replacement节点到Regression节点。

(2)双击Regression节点出现Regression窗口,默认出现的是Variables标签。

由于Regression节点的默认模型是逻辑回归,所以无需再对ModelOptions标签进行设置,此处要设置的是SelectionMetho

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2