SPSSClementine数据挖掘入门Word文件下载.docx
- 文档编号:22916205
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:34
- 大小:811.53KB
SPSSClementine数据挖掘入门Word文件下载.docx
《SPSSClementine数据挖掘入门Word文件下载.docx》由会员分享,可在线阅读,更多相关《SPSSClementine数据挖掘入门Word文件下载.docx(34页珍藏版)》请在冰豆网上搜索。
SAS和SPSS。
SAS获得了最高abilitytoexecute评分,代表着SAS在市场执行、推广、认知方面有最佳表现;
而SPSS获得了最高的completenessofvision,表明SPSS在技术创新方面遥遥领先。
客户端基本界面
SPSSClementine(在此简称clementine)在安装好后会自动启用服务,服务端的管理需要使用SPSSPredictiveEnterpriseManager,在服务端clementine没有复杂的管理工具,一般的数据挖掘人员通过客户端完成所有工作。
下面就是clementine客户端的界面。
一看到上面这个界面,我相信只要是使用过SSIS+SSAS部署数据挖掘模型的,应该已经明白了六、七分。
是否以跃跃欲试了呢,别急,精彩的还在后面^_’
项目区
顾名思义,是对项目的管理,提供了两种视图。
其中CRISP-DM(CrossIndustryStandardProcessforDataMining,数据挖掘跨行业标准流程)是由SPSS、DaimlerChrysler(戴姆勒克莱斯勒,汽车公司)、NCR(就是那个拥有Teradata的公司)共同提出的。
Clementine里通过组织CRISP-DM的六个步骤完成项目。
在项目中可以加入流、节点、输出、模型等。
工具栏
工具栏总包括了ETL、数据分析、挖掘模型工具,工具可以加入到数据流设计区中,跟SSIS中的数据流非常相似。
Clementine中有6类工具。
源工具(Sources)
相当SSIS数据流中的源组件啦,clementine支持的数据源有数据库、平面文件、Excel、维度数据、SAS数据、用户输入等。
记录操作(RecordOps)和字段操作(FieldOps)
相当于SSIS数据流的转换组件,RecordOps是对数据行转换,FieldOps是对列转换,有些类型SSIS的异步输出转换和同步输出转换(关于SSIS异步和同步输出的概念,详见拙作:
http:
//www.cnblogs.com/esestt/archive/2007/06/03/769411.html)。
图形(Graphs)
用于数据可视化分析。
输出(Output)
Clementine的输出不仅仅是ETL过程中的load过程,它的输出包括了对数据的统计分析报告输出。
※在ver11,Output中的ETL数据目的工具被分到了Export的工具栏中。
模型(Model)
Clementine中包括了丰富的数据挖掘模型。
数据流设计区
这个没什么好说的,看图就知道了,有向的箭头指明了数据的流向。
Clementine项目中可以有多个数据流设计区,就像在PhotoShop中可以同时开启多个设计图一样。
比如说,我这里有两个数据流:
Stream1和Stream2。
通过在管理区的Streams栏中点击切换不同的数量流。
管理区
管理区包括Streams、Outputs、Models三栏。
Streams上面已经说过了,是管理数据流的。
Outputs
不要跟工具栏中的输出搞混,这里的Outputs是图形、输出这类工具产生的分析结果。
例如,下面的数据源连接到矩阵、数据审查、直方图工具,在执行数据流后,这个工具产生了三个输出。
在管理区的Outputs栏中双击这些输出,可看到输出的图形或报表。
Models
经过训练的模型会出现在这一栏中,这就像是真表(TruthTable)的概念那样,训练过的模型可以加入的数据流中用于预测和打分。
另外,模型还可以导出为支持PMML协议的XML文件,但是PMML没有给定所有模型的规范,很多厂商都在PMML的基础上对模型内容进行了扩展,Clementine除了可以导出扩展的SPSSSmartScore,还可以导出标准的PMML3.1。
↓最新网络班和面授班
·
2010年统计从业人员资格考试网络课程
2010年助理统计师(初级)网络课程
2010年统计师(中级)网络课程
SPSSClementine数据挖掘入门
(2)
下面使用AdventureWorks数据库中的TargetMail作例子,通过建立分类树和神经网络模型,决策树用来预测哪些人会响应促销,神经网络用来预测年收入。
TargetMail数据在SQLServer样本数据库AdventureWorksDW中的dbo.vTargetMail视图,关于TargetMail详见:
http:
//technet.microsoft.com/zh-cn/library/ms124623.aspx#DataMining
或者我之前的随笔:
//www.cnblogs.com/esestt/archive/2007/06/06/773705.html
1.定义数据源
将一个Datebase源组件加入到数据流设计区,双击组件,设置数据源为dbo.vTargetMail视图。
在Types栏中点“ReadValues”,会自动读取数据个字段的Type、Values等信息。
Values是字段包含的值,比如在数据集中NumberCardsOwned字段的值是从0到4的数,HouseOwnerFlag只有1和0两种值。
Type是依据Values判断字段的类型,Flag类型只包含两种值,类似于boolean;
Set是指包含有限个值,类似于enumeration;
Ragnge是连续性数值,类似于float。
通过了解字段的类型和值,我们可以确定哪些字段能用来作为预测因子,像AddressLine、Phone、DateFirstPurchase等字段是无用的,因为这些字段的值是无序和无意义的。
Direction表明字段的用法,“In”在SQLServer中叫做“Input”,“Out”在SQLServer中叫做“PredictOnly”,“Both”在SQLServer中叫做“Predict”,“Partition”用于对数据分组。
2.理解数据
在建模之前,我们需要了解数据集中都有哪些字段,这些字段如何分布,它们之间是否隐含着相关性等信息。
只有了解这些信息后才能决定使用哪些字段,应用何种挖掘算法和算法参数。
在除了在建立数据源时Clementine能告诉我们值类型外,还能使用输出和图形组件对数据进行探索。
例如先将一个统计组件和一个条形图组件拖入数据流设计区,跟数据源组件连在一起,配置好这些组件后,点上方绿色的箭头。
等一会,然后这两个组件就会输出统计报告和条形图,这些输出会保存在管理区中(因为条形图是高级可视化组件,其输出不会出现在管理区),以后只要在管理区双击输出就可以看打开报告。
3.准备数据
将之前的输出和图形工具从数据流涉及区中删除。
将FieldOps中的Filter组件加入数据流,在Filter中可以去除不需要的字段。
我们只需要使用MaritalStatus、Gender、YearlyIncome、TatalChildren、NumberChildrenAtHome、EnglishEducation、EnglishOccupation、HouseOwnerFlag、NumberCarsOwned、CommuteDistance、Region、Age、BikeBuyer这些字段。
加入Sample组件做随机抽样,从源数据中抽取70%的数据作为训练集,剩下30%作为检验集。
注意为种子指定一个值,学过统计和计算机的应该知道只要种子不变,计算机产生的伪随机序列是不变的。
因为要使用两个挖掘模型,模型的输入和预测字段是不同的,需要加入两个Type组件,将数据分流。
决策树模型用于预测甚麽人会响应促销而购买自行车,要将BikeBuyer字段作为预测列。
神经网络用于预测年收入,需要将YearlyIncome设置为预测字段。
有时候用于预测的输入字段太多,会耗费大量训练时间,可以使用FeatureSelection(特征选择)组件筛选对预测字段影响较大的字段。
从Modeling中将FeatureSelection字段拖出来,连接到神经网络模型的组件后面,然后点击上方的ExecuteSelection。
FeatureSelection模型训练后在管理区出现模型,右击模型,选Browse可查看模型内容。
模型从12个字段中选出了11个字段,认为这11个字段对年收入的影响比较大,所以我们只要用这11个字段作为输入列即可。
将模型从管理区拖入数据流设计区,替换原来的FeatureSelection组件。
4.建模
加入NearalNet和CHAID模型组件,在CHAID组件设置中,将Mode项设为”Launchinteractivesession”。
然后点上方的绿色箭头执行整个数据流。
Clementine在训练CHAID树时,会开启交互式会话窗口,在交互会话中可以控制树生长和对树剪枝,避免过拟合。
如果确定模型后点上方黄色的图标。
完成后,在管理区又多了两个模型。
把它们拖入数据流设计区,开始评估模型。
5.模型评估
修改抽样组件,将Mode改成“DiscardSample”,意思是抛弃之前用于训练模型的那70%数据,将剩下30%数据用于检验。
注意种子不要更改。
我这里只检验CHAID决策树模型。
将各种组件跟CHAID模型关联。
执行后,得到提升图、预测准确率表……
6.部署模型
Export组件都可以使用Publish发布数据流,这里会产生两个文件,一个是pim文件,一个是par文件。
pim文件保存流的所有信息,par文件保存参数。
有了这两个文件就可以使用clemrun.exe来执行流,clemrun.exe是ClementineSolutionPublisher的执行程序。
ClementineSolutionPublisher是需要单独授权的。
在SSIS中pim和par类似于一个dtsx文件,clemrun.exe就类似于dtexec.exe。
如果要在其他程序中使用模型,可以使用Clementine执行库(CLEMRTL),相比起Microsoft的oledbfordm,SPSS的提供的API在开发上还不是很好用。
SPSSClementine数据挖掘入门(3)
了解SPSSClementine的基本应用后,再对比微软的SSAS,各自的优缺点就非常明显了。
微软的SSAS是ServiceOriented的数据挖掘工具,微软联合SAS、Hyperion等公司定义了用于数据挖掘的web服务标准——XMLA,微软还提供OLEDBforDM接口和MDX。
所以SSAS的优势是管理、部署、开发、应用耦合方便。
但SQLServer2005使用VisualStudio2005作为客户端开发工具,VisualStudio的SSAS项目只能作为模型设计和部署工具而已,根本不能独立实现完整的Crisp-DM流程。
尽管MSExcel也可以作为SSAS的客户端实现数据挖掘,不过Excel显然不是为专业数据挖掘人员设计的。
PS:
既然说到VisualStudio,我又忍不住要发牢骚。
大家都知道VisualStudioTeamSystem是一套非常棒的团队开发工具,它为团队中不同的角色提供不同的开发模板,并且还有一个服务端组件,通过这套工具实现了团队协作、项目管理、版本控制等功能。
SQLServer2005相比2000的变化之一就是将开发客户端整合到了VisualStudio中,但是这种整合做得并不彻底。
比如说,使用SSIS开发是往往要一个人完成一个独立的包,比起DataStage基于角色提供了四种客户端,VS很难实现元数据、项目管理、并行开发……;
现在对比Clementine也是,Clementine最吸引人的地方就是其提供了强大的客户端。
当然,VisualStudio本身是很好的工具,只不过是微软没有好好利用而已,期望未来的SQLServer2K8和VisualStudio2K8能进一步改进。
所以我们不由得想到如果能在SPSSClementine中实现Crisp-DM过程,但是将模型部署到SSAS就好了。
首先OLEDBforDM包括了Model_PMML结构行集,可以使用DMX语句“CreateMiningModel
”将SPSSClementine导出的PMML模型加入SSAS。
如果我记得没错的话,SQLServer2005最初发表版本中AnalysisServices是PMML2.1标准,而Clementine11是PMML3.1的,两者的兼容性不知怎样,我试着将一个PMML文件加入SSAS,结果提示错误。
另外,在SPSSClementine中可以整合SSAS,通过使用SSAS的算法,将模型部署到SSAS。
具体的做法是:
在SSAS实例中修改两个属性值。
在Clementine菜单栏选Tools->
HelperApplications。
然后启用SSAS整合,需要选择SSAS数据库和SQLServerRMDBS,RMDBS是用来存储临时数据的,如果在Clementine的流中使用了SAS数据源,但SSAS不支持SAS数据文件,那么Clementine需要将数据源存入临时数据表中以便SSAS能够使用。
启用整合后,就可以在工具栏中看到多出了一类DatebaseModeling组件,这些都是SSAS的数据挖掘算法,接下来的就不用说了……
可惜的是SSAS企业版中就带有9中算法,另外还有大量第三方的插件,但Clementine11.0中只提供了7种SSAS挖掘模型。
分类
分类是用于识别什么样的事务属于哪一类的方法,可用于分类的算法有决策树、bayes分类、神经网络、支持向量机等等。
决策树
例1
一个自行车厂商想要通过广告宣传来吸引顾客。
他们从各地的超市获得超市会员的信息,计划将广告册和礼品投递给这些会员。
但是投递广告册是需要成本的,不可能投递给所有的超市会员。
而这些会员中有的人会响应广告宣传,有的人就算得到广告册不会购买。
所以最好是将广告投递给那些对广告册感兴趣从而购买自行车的会员。
分类模型的作用就是识别出什么样的会员可能购买自行车。
自行车厂商首先从所有会员中抽取了1000个会员,向这些会员投递广告册,然后记录这些收到广告册的会员是否购买了自行车。
数据如下:
事例列
会员编号
12496
14177
24381
25597
…………
输入列
婚姻状况
Married
Single
性别
Female
Male
收入
40000
80000
70000
30000
孩子数
1
5
教育背景
Bachelors
PartialCollege
职业
SkilledManual
Professional
Clerical
是否有房
Yes
No
汽车数
2
上班距离
0-1Miles
2-5Miles
5-10Miles
区域
Europe
Pacific
年龄
42
60
41
36
预测列
是否购买自行车
在分类模型中,每个会员作为一个事例,居民的婚姻状况、性别、年龄等特征作为输入列,所需预测的分类是客户是否购买了自行车。
使用1000个会员事例训练模型后得到的决策树分类如下:
※图中矩形表示一个拆分节点,矩形中文字是拆分条件。
※矩形颜色深浅代表此节点包含事例的数量,颜色越深包含的事例越多,如全部节点包含所有的1000个事例,颜色最深。
经过第一次基于年龄的拆分后,年龄大于67岁的包含36个事例,年龄小于32岁的133个事例,年龄在39和67岁之间的602个事例,年龄32和39岁之间的229个事例。
所以第一次拆分后,年龄在39和67岁的节点颜色最深,年龄大于67岁的节点颜色最浅。
※节点中的条包含两种颜色,红色和蓝色,分别表示此节点中的事例购买和不购买自行车的比例。
如节点“年龄>
=67”节点中,包含36个事例,其中28个没有购买自行车,8个购买了自行车,所以蓝色的条比红色的要长。
表示年龄大于67的会员有74.62%的概率不购买自行车,有23.01%的概率购买自行车。
在图中,可以找出几个有用的节点:
1.年龄小于32岁,居住在太平洋地区的会员有72.75%的概率购买自行车;
2.年龄在32和39岁之间的会员有68.42%的概率购买自行车;
3.年龄在39和67岁之间,上班距离不大于10公里,只有1辆汽车的会员有66.08%的概率购买自行车;
4.年龄小于32岁,不住在太平洋地区,上班距离在1公里范围内的会员有51.92%的概率购买自行车;
在得到了分类模型后,将其他的会员在分类模型中查找就可预测会员购买自行车的概率有多大。
随后自行车厂商就可以有选择性的投递广告册。
数据挖掘的一般流程
第一步,建立模型,确定数据表中哪些列是要用于输入,哪些是用于预测,选择用何种算法。
这时建立的模型内容是空的,在模型没有经过训练之前,计算机是无法知道如何分类数据的。
第二步,准备模型数据集,例子中的模型数据集就是1000个会员数据。
通常的做法是将模型集分成训练集和检验集,比如从1000个会员数据中随机抽取700个作为训练集,剩下300个作为检验集。
第三步,用训练数据集填充模型,这个过程是对模型进行训练,模型训练后就有分类的内容了,像例子图中的树状结构那样,然后模型就可以对新加入的会员事例进行分类了。
由于时效性,模型内容要经常更新,比如十年前会员的消费模式与现在有很大的差异,如果用十年前数据训练出来的模型来预测现在的会员是否会购买自行车是不合适的,所以要按时使用新的训练数据集来训练模型。
第四步,模型训练后,还无法确定模型的分类方法是否准确。
可以用模型对300个会员的检验集进行查询,查询后,模型会预测出哪些会员会购买自行车,将预测的情况与真实的情况对比,评估模型预测是否准确。
如果模型准确度能满足要求,就可以用于对新会员进行预测。
第五步,超市每天都会有新的会员加入,这些新加入的会员数据叫做预测集或得分集。
使用模型对预测集进行预测,识别出哪些会员可能会购买自行车,然后向这些会员投递广告。
veBayes
Naï
veBayes是一种由统计学中Bayes法发展而来的分类方法。
有A、B两个政党对四个议题进行投票,A政党有211个国会议员,B政党有223个国会议员。
下表统计了政党对四个议题赞成或反对的票数。
国家安全法
个人财产保护法
遗产税
反分裂法
总计
赞成
反对
A政党
166
87
114
184
11
178
23
211
B政党
214
4
6
172
210
223
20%
80%
43%
57%
94%
6%
89%
11%
49%
98%
2%
97%
3%
83%
17%
99.50%
0.50%
51%
A政党的议员有20%概率赞成国家安全法,43%概率赞成个人财产保护法,94%概率赞成遗产税,89%概率赞成反分裂法。
B政党的议员有98%概率赞成国家安全法,97%概率赞成个人财产保护法,83%概率赞成遗产税,99.5%概率赞成反分裂法。
基于这样的数据,Naï
veBayes能预测的是如果一个议员对国家安全法投了赞成票,对个人财产保护法投了反对票,对遗产税投了赞成票,对反分裂法投了赞成票。
哪么,这个议员有多大的概率属于A政党,又有多少的概率属于B政党。
例2
一个产品在生产后经检验分成一等品、二等品、次品。
生产这种产品有三种可用的配方,两种机器,两个班组的工人。
下面是1000个产品的统计信息。
配方
机器
工人
配方1
配方2
配方3
机器1
机器2
班组1
班组2
一等品
47
110
121
255
130
148
278
二等品
299
103
165
392
175
327
240
567
次品
74
25
56
69
86
38
117
155
16.91%
39.57%
43.53%
8.27%
91.73%
46.76%
53.24%
27.80%
52.73%
18.17%
29.10%
69.14%
30.86%
57.67%
42.33%
56.70%
47.74%
16.13%
36.13%
44.52%
55.48%
24.52%
75.48%
15.50%
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SPSSClementine 数据 挖掘 入门