如何用spss clementine进行spss 数据挖掘工具

新浪广告共享计划>
广告共享计划
如何用SPSS和Clementine处理缺失值、离群值、极值(Z)
作者:数据小兵
一、什么是预处理、预分析?
高质量数据是数据分析的前提和分析结论可靠性的保障。尽管在获取数据源时数据分析师格外谨慎,耗费大量的时间,但数据质量仍然需持续关注。不管是一手还是二手数据源,总是会存在一些质量问题。同时,为了满足数据分析、挖掘的实际需要,对噪声数据如何处理,是丢弃还是补充,或者重新计算新的数据变量,这些不是随意决定的,这就是数据预处理的一个过程,是在数据分析、挖掘开始前对数据源的审核和判断,是数据分析必不可少的一项。本文暂只简单讨论一下缺失值、异常值的处理。
二、如何发现数据质量问题,例如,如何发现缺失值?
1、SPSS是如何做到的?
(1)系统缺失值、空白值
每一个变量均有可能出现系统缺失或者空白,当数据量巨大时我们根本无法用眼睛看出是否有缺失,最明智的做法是把这项任务交给数据分析工具,比如Excel,可通过数据有效性、筛选、查找、计数等功能去实现,如果是SPSS数据源,可以通过描述统计之“频率”项来实现。
上图,五个变量中,家庭人均收入有效样本94,有6个无效样本,在spss数据区域显示为空白值。其他变量均没有缺失,对于这6个缺失值是留是踢需要谨慎。
(2)变量取值分布
这一项不容忽视,一般由于输入错误、数据本身或者其他原因造成。这里分分类变量和数值变量进行检查。
分类变量取值分布检查:
描述统计之“频率”项,可以对变量以及变量取值进行频次统计汇总,因此,此处仍然采用“频率”项。
上图,我们已经确认是否献血样本全部有效,但是不代表这个变量没有其他噪声。通过此变量取值分布的考察,我们可以发现是否献血有4个水平,分别为“0”“1”“No”“Yes”,但实际上,该变量的取值至于两个水平,“No”“Yes”,其余两个取值是错误操作导致的,这是系统缺失值,可以通过重新赋值进行处理。
数值变量取值分布检查:
数值变量取值分布不宜采用“频次”的统计,一般可通过直方图、含有正态检验的直方图来实现。
上图,数值变量的直方图,可以清楚的看到其分布情况。可以初步判断存在异常值。
(3)离群值、极值
在SPSS中可以通过“箱图”直观的看到异常值,探索分析项或者箱图功能可实现。
上图,为spss探索分析结果,还可以设置分组变量。可以直观的发现,家庭人均收入存在极值,编号为66,可以快速查找定位。
2、Clementine是怎么做到的?
Data&Audit,数据审核节点示例:以下数据流看图不解释。
首先,建立以上数据流。最后一个为“数据审核”节点,右键选择并打开编辑:
上图,为clementine变量诊断结果,非常直观,图文并茂,而且一张图几乎说明了数据源各种质量问题。是否无偿献血,取值水平有4个,家庭人均收入最大值有异常,且明确显示有6个无效值。其他变量正常。
上图,是clementine变量诊断结果中的另外一张图表,我们可以发现家庭人均收入有一枚极值,六枚无效值。通过上述诊断,数据质量问题一目了然。
三、如何处理缺失值、离群值、极值?
1、SPSS实现方法
上图,为spss变量转换菜单下的重新编码为相同变量选项卡。可以轻松实现变量重新赋值。主要实现方法:重新编码为相同/不同变量、计算变量、缺失值分析模块,此处略,后续文章会涉及。
2、Clementine实现方法
(1)是否无偿献血&重新分类
我们已经清楚的知道,是否无偿献血变量在取值分布上存在问题。在clementine,需要用Reclassify节点进行重新分类,在变量诊断的第一种表格上选中是否无偿献血变量,点击左上角“生成”按钮,生成一个Reclassify节点。打开该节点,如上图所示,即可完成重新分类。
(2)无效值、空白值的处理
家庭人均收入变量存在6个无效值,我们建议保留这6个样本,希望通过决策树算法进行针对性的预测,从而为这6个无效值进行赋值。如上图所示进行操作。然后,选中该变量,点击左上角“生成”按钮,自动生成一个缺失值插补超级节点。
(3)离群值、极值的处理
家庭收入变量还存在一枚极值,对于该极值,我们采取剔除丢弃处理,在clementine变量诊断表格中,如上图操作,点击生成按钮,自动生成一个离群值和极值超级节点。
(4)以下为clementine的处理结果
&我们将自动生成的两个超级节点,连接在数据流末端,再次进行数据审核,结果如上图所示,此时,我们可以看到,上述几个问题已经达到合理地解决。最终我们剔除了一个极值,对其他质量问题采取保守态度进行相应的处理。
上图,为整个过程的数据流图示。
1、通过SPSS描述统计的相关过程,可以实现数据质量的探索分析并进行相应的预处理。
2、通过Clementine的Type节点、Filler节点、Reclassify节点、Data&Audit等节点可以实现数据质量的探索,而且比SPSS更直观,更快捷。
3、相比而言,clementine在数据分析预处理方面更加优秀,结果可视化程度较高,直观易懂,而且处理流程简短精悍,虽然通过spss或者excel也可以完成这些工作,但我想,如果能合理选择有效驾驭,clementine是一个不错的选择,这不是炫耀或者奢侈,更效率更效果的工作才是最终目的。
更多精彩可订阅微信号
名称:小蚊子数据分析
微信号:wzdata
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。数据挖掘原理与SPSS Clementine应用宝典.pdf
扫描二维码,下载文件到手机
当前文件信息
浏览:1717次
保存:51次
下载:437次
您的VIP会员已过期,是否续费?
用户应遵守著作权法,尊重著作权人合法权益,不违法上传、存储并分享他人作品。举报邮箱:
京网文[0号 京ICP证100780号
微盘将停止免费用户存储服务&&&&数据挖掘原理与SPSS Clementine应用-SPSS_Clementine典型案例分析
&数据挖掘原理与SPSS Clementine应用-SPSS_Clementine典型案例分析
市场购物篮分析
利用决策树模型挖掘商业信息
利用神经网络对数据进行欺诈探测
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 获得积分,详细见。
完成任务获取积分。
论坛可用分兑换下载积分。
第一次绑定手机,将获得5个C币,C币可。
关注并绑定CSDNID,送10个下载分
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
网络技术下载排行
您当前C币:0&&&可兑换 0 下载积分
兑换下载分:&
消耗C币:0&
立即兑换&&
兑换成功你当前的下载分为 。前去下载资源
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
数据挖掘原理与SPSS Clementine应用-SPSS_Clementine典型案例分析
所需积分:1
剩余积分:0
扫描微信二维码精彩活动、课程更新抢先知
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000
数据挖掘原理与SPSS Clementine应用-SPSS_Clementine典型案例分析
剩余次数:&&&&有效期截止到:
你还不是VIP会员VIP会员享免积分 . 专属通道极速下载
VIP下载次数已满VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员
你的VIP会员已过期VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员5018人阅读
这篇文章是从网上找到的,非常非常好,特别适合入门的人,里面有实际的一个挖掘例子,非常实用。推荐给大家。
SPSS Clementine是Spss公司收购ISL获得的数据挖掘工具。在Gartner的客户数据挖掘工具评估中,仅有两家厂商被列为领导者:SAS和SPSS。SAS获得了最高ability to execute评分,代表着SAS在市场执行、推广、认知方面有最佳表现;而SPSS获得了最高的completeness of vision,表明SPSS在技术创新方面遥遥领先。
客户端基本界面
SPSS Clementine(在此简称clementine)在安装好后会自动启用服务,服务端的管理需要使用SPSS Predictive Enterprise Manager,在服务端clementine没有复杂的管理工具,一般的数据挖掘人员通过客户端完成所有工作。下面就是clementine客户端的界面。
一看到上面这个界面,我相信只要是使用过SSIS+SSAS部署数据挖掘模型的,应该已经明白了六、七分。是否以跃跃欲试了呢,别急,精彩的还在后面 ^_’
顾名思义,是对项目的管理,提供了两种视图。其中CRISP-DM (Cross Industry Standard Process for Data Mining,数据挖掘跨行业标准流程)是由SPSS、DaimlerChrysler(戴姆勒克莱斯勒,汽车公司)、NCR(就是那个拥有Teradata的公司)共同提出的。Clementine里通过组织CRISP-DM的六个步骤完成项目。在项目中可以加入流、节点、输出、模型等。
工具栏总包括了ETL、数据分析、挖掘模型工具,工具可以加入到数据流设计区中,跟SSIS中的数据流非常相似。Clementine中有6类工具。
源工具(Sources)
相当SSIS数据流中的源组件啦,clementine支持的数据源有数据库、平面文件、Excel、维度数据、SAS数据、用户输入等。
记录操作(Record Ops)和字段操作(Field Ops)
相当于SSIS数据流的转换组件,Record Ops是对数据行转换,Field Ops是对列转换,有些类型SSIS的异步输出转换和同步输出转换(关于SSIS异步和同步输出的概念,详见拙作:)。
图形(Graphs)
用于数据可视化分析。
输出(Output)
Clementine的输出不仅仅是ETL过程中的load过程,它的输出包括了对数据的统计分析报告输出。
※在ver 11,Output中的ETL数据目的工具被分到了Export的工具栏中。
模型(Model)
Clementine中包括了丰富的数据挖掘模型。
数据流设计区
这个没什么好说的,看图就知道了,有向的箭头指明了数据的流向。Clementine项目中可以有多个数据流设计区,就像在PhotoShop中可以同时开启多个设计图一样。
比如说,我这里有两个数据流:Stream1和Stream2。通过在管理区的Streams栏中点击切换不同的数量流。
管理区包括Streams、Outputs、Models三栏。Streams上面已经说过了,是管理数据流的。
不要跟工具栏中的输出搞混,这里的Outputs是图形、输出这类工具产生的分析结果。例如,下面的数据源连接到矩阵、数据审查、直方图工具,在执行数据流后,这个工具产生了三个输出。在管理区的Outputs栏中双击这些输出,可看到输出的图形或报表。
经过训练的模型会出现在这一栏中,这就像是真表(Truth Table)的概念那样,训练过的模型可以加入的数据流中用于预测和打分。另外,模型还可以导出为支持PMML协议的XML文件,但是PMML没有给定所有模型的规范,很多厂商都在PMML的基础上对模型内容进行了扩展,Clementine除了可以导出扩展的SPSS SmartScore,还可以导出标准的PMML 3.1。
下面使用Adventure Works数据库中的Target Mail作例子,通过建立分类树和神经网络模型,决策树用来预测哪些人会响应促销,神经网络用来预测年收入。
Target Mail数据在SQL Server样本数据库AdventureWorksDW中的dbo.vTargetMail视图,关于Target Mail详见:
或者我之前的随笔:
1. 定义数据源
将一个Datebase源组件加入到数据流设计区,双击组件,设置数据源为dbo.vTargetMail视图。
在Types栏中点“Read Values”,会自动读取数据个字段的Type、Values等信息。
Values是字段包含的值,比如在数据集中NumberCardsOwned字段的值是从0到4的数,HouseOwnerFlag只有1和0两种值。Type是依据Values判断字段的类型,Flag类型只包含两种值,类似于boolean;Set是指包含有限个值,类似于enumeration;Ragnge是连续性数值,类似于float。通过了解字段的类型和值,我们可以确定哪些字段能用来作为预测因子,像AddressLine、Phone、DateFirstPurchase等字段是无用的,因为这些字段的值是无序和无意义的。
Direction表明字段的用法,“In”在SQL Server中叫做“Input”,“Out”在SQL Server中叫做“PredictOnly”,“Both”在SQL Server中叫做“Predict”,“Partition”用于对数据分组。
2. 理解数据
在建模之前,我们需要了解数据集中都有哪些字段,这些字段如何分布,它们之间是否隐含着相关性等信息。只有了解这些信息后才能决定使用哪些字段,应用何种挖掘算法和算法参数。
在除了在建立数据源时Clementine能告诉我们值类型外,还能使用输出和图形组件对数据进行探索。
例如先将一个统计组件和一个条形图组件拖入数据流设计区,跟数据源组件连在一起,配置好这些组件后,点上方绿色的箭头。
等一会,然后这两个组件就会输出统计报告和条形图,这些输出会保存在管理区中(因为条形图是高级可视化组件,其输出不会出现在管理区),以后只要在管理区双击输出就可以看打开报告。
3. 准备数据
将之前的输出和图形工具从数据流涉及区中删除。
将Field Ops中的Filter组件加入数据流,在Filter中可以去除不需要的字段。
我们只需要使用MaritalStatus、Gender、YearlyIncome、TatalChildren、NumberChildrenAtHome、EnglishEducation、EnglishOccupation、HouseOwnerFlag、NumberCarsOwned、CommuteDistance、Region、Age、BikeBuyer这些字段。
加入Sample组件做随机抽样,从源数据中抽取70%的数据作为训练集,剩下30%作为检验集。
注意为种子指定一个值,学过统计和计算机的应该知道只要种子不变,计算机产生的伪随机序列是不变的。
因为要使用两个挖掘模型,模型的输入和预测字段是不同的,需要加入两个Type组件,将数据分流。
决策树模型用于预测甚麽人会响应促销而购买自行车,要将BikeBuyer字段作为预测列。
神经网络用于预测年收入,需要将YearlyIncome设置为预测字段。
有时候用于预测的输入字段太多,会耗费大量训练时间,可以使用Feature Selection组件筛选对预测字段影响较大的字段。
从Modeling中将Feature Selection字段拖出来,连接到神经网络模型的组件后面,然后点击上方的Execute Selection。
Feature Selection模型训练后在管理区出现模型,右击模型,选Browse可查看模型内容。模型从12个字段中选出了11个字段,认为这11个字段对年收入的影响比较大,所以我们只要用这11个字段作为输入列即可。
将模型从管理区拖入数据流设计区,替换原来的Feature Selection组件。
加入Nearal Net和CHAID模型组件,在CHAID组件设置中,将Mode项设为”Launch interactive session”。然后点上方的绿色箭头执行整个数据流。
Clementine在训练CHAID树时,会开启交互式会话窗口,在交互会话中可以控制树生长和对树剪枝,避免过拟合。如果确定模型后点上方黄色的图标。
完成后,在管理区又多了两个模型。把它们拖入数据流设计区,开始评估模型。
5. 模型评估
修改抽样组件,将Mode改成“Discard Sample”,意思是抛弃之前用于训练模型的那70%数据,将剩下30%数据用于检验。注意种子不要更改。
我这里只检验CHAID决策树模型。将各种组件跟CHAID模型关联。
执行后,得到提升图、预测准确率表……
6. 部署模型
Export组件都可以使用Publish发布数据流,这里会产生两个文件,一个是pim文件,一个是par文件。
pim文件保存流的所有信息,par文件保存参数。有了这两个文件就可以使用clemrun.exe来执行流,clemrun.exe是Clementine Solution Publisher的执行程序。Clementine Solution Publisher是需要单独授权的。在SSIS中pim和par类似于一个dtsx文件,clemrun.exe就类似于dtexec.exe。
如果要在其他程序中使用模型,可以使用Clementine执行库(CLEMRTL),相比起Microsoft的ole db for dm,SPSS的提供的API在开发上还不是很好用。
了解SPSS Clementine的基本应用后,再对比微软的SSAS,各自的优缺点就非常明显了。微软的SSAS是Service Oriented的数据挖掘工具,微软联合SAS、Hyperion等公司定义了用于数据挖掘的web服务标准——XMLA,微软还提供OLE DB for DM接口和MDX。所以SSAS的优势是管理、部署、开发、应用耦合方便。
但SQL Server 2005使用Visual Studio 2005作为客户端开发工具,Visual Studio的SSAS项目只能作为模型设计和部署工具而已,根本不能独立实现完整的Crisp-DM流程。尽管MS Excel也可以作为SSAS的客户端实现数据挖掘,不过Excel显然不是为专业数据挖掘人员设计的。
PS:既然说到Visual Studio,我又忍不住要发牢骚。大家都知道Visual Studio Team System是一套非常棒的团队开发工具,它为团队中不同的角色提供不同的开发模板,并且还有一个服务端组件,通过这套工具实现了团队协作、项目管理、版本控制等功能。SQL Server 2005相比2000的变化之一就是将开发客户端整合到了Visual Studio中,但是这种整合做得并不彻底。比如说,使用SSIS开发是往往要一个人完成一个独立的包,比起DataStage基于角色提供了四种客户端,VS很难实现元数据、项目管理、并行开发……;现在对比Clementine也是,Clementine最吸引人的地方就是其提供了强大的客户端。当然,Visual Studio本身是很好的工具,只不过是微软没有好好利用而已,期望未来的SQL Server 2K8和Visual Studio 2K8能进一步改进。
所以我们不由得想到如果能在SPSS Clementine中实现Crisp-DM过程,但是将模型部署到SSAS就好了。
首先OLE DB for DM包括了Model_PMML结构行集,可以使用DMX语句“Create Mining Model
From PMML ”将SPSS Clementine导出的PMML模型加入SSAS。
如果我记得没错的话,SQL Server 2005 最初发表版本中Analysis Services是PMML 2.1标准,而Clementine 11是PMML 3.1的,两者的兼容性不知怎样,我试着将一个PMML文件加入SSAS,结果提示错误。
另外,在SPSS Clementine中可以整合SSAS,通过使用SSAS的算法,将模型部署到SSAS。具体的做法是:
在SSAS实例中修改两个属性值。
在Clementine菜单栏选Tools -> Helper Applications。
然后启用SSAS整合,需要选择SSAS数据库和SQL Server RMDBS,RMDBS是用来存储临时数据的,如果在Clementine的流中使用了SAS数据源,但SSAS不支持SAS数据文件,那么Clementine需要将数据源存入临时数据表中以便SSAS能够使用。
启用整合后,就可以在工具栏中看到多出了一类Datebase Modeling组件,这些都是SSAS的数据挖掘算法,接下来的就不用说了……
可惜的是SSAS企业版中就带有9中算法,另外还有大量第三方的插件,但Clementine 11.0中只提供了7种SSAS挖掘模型。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:666353次
积分:9097
积分:9097
排名:第1226名
原创:237篇
转载:183篇
评论:174条
(1)(2)(4)(1)(1)(3)(4)(1)(2)(1)(5)(1)(3)(5)(2)(4)(1)(2)(6)(1)(1)(1)(11)(3)(2)(3)(10)(6)(1)(3)(6)(22)(9)(1)(2)(11)(8)(5)(8)(6)(7)(13)(2)(21)(7)(5)(12)(7)(1)(15)(7)(31)(43)(13)(30)(8)(1)(3)(3)(12)(8)(3)
() () () () ()

我要回帖

更多关于 spss clementine 的文章

 

随机推荐