关键词不能为空

当前您在: 主页 > 英语 >

SPSS Clementine和KNIME数据挖掘入门

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-10 05:44
tags:

-

2021年2月10日发(作者:passport是什么意思)


SPSS Clementine



Spss< /p>


公司收购


ISL


获得的数据挖掘工具。在


Gartner


的客户数据挖掘工具评估中,仅有


两家厂商被列为领导者:


SAS


< br>SPSS



SAS


获得了最高< /p>


ability to execute


评分,代表着

< p>
SAS


在市场执行、


推广、认知方面有最佳表现; 而


SPSS


获得了最高的


comple teness of vision


,表明


SPSS

< p>
在技术创新方面遥遥


领先。





客户端基本界面





SPSS Clementine


(在此简称


clementine


)在安装好后会自 动启用服务,服务端的管理需要使用


SPSS


Predictive Enterprise Manager


,在服务端


clementine


没有复杂的管理工具,一般 的数据挖掘人员通过客户


端完成所有工作。下面就是


cleme ntine


客户端的界面。





一看到上面这个界面,我相信只要是使用过

< br>SSIS+SSAS


部署数据挖掘模型的,应该已经明白了六、七分。是否


以跃跃欲试了呢,别急,精彩的还在后面



^_’





项目区




顾名思义,


是对项目的管理,


提供了两种视图。


其中


CRISP-DM



Cross Industry Standard Process for Data


Mining


,数据挖掘 跨行业标准流程)是由


SPSS



Da imlerChrysler


(戴姆勒克莱斯勒,汽车公司)、


NCR


(就


是那个拥有


Teradat a


的公司)共同提出的。


Clementine


里通过组织


CRISP-DM


的六个步骤完成项目。在 项目


中可以加入流、节点、输出、模型等。





工具栏




工具栏总包括了


ETL

< p>
、数据分析、挖掘模型工具,工具可以加入到数据流设计区中,跟


SSIS


中的数据流非常相


似。


Clement ine


中有


6


类工具。



源工具(


Sources




相当


SSIS


数据流中的源组件啦,


clementine


支持的数据源有 数据库、


平面文件、


Excel



维度数据、


SAS


数据、

< br>用户输入等。



记录操作(


Record Ops


)和字段操作(


Field Ops




相当于

SSIS


数据流的转换组件,


Record Ops


是对数据行转换,


Field Ops

< br>是对列转换,有些类型


SSIS


的异步

< br>输出转换和同步输出转换(关于


SSIS


异步和同步输出 的概念,详见拙作:


/esestt/archive/2007/06/03/


)。



图形(


Gra phs




用于数据可视化分析。



输出(


Output




C lementine


的输出不仅仅是


ETL

过程中的


load


过程,它的输出包括了对数据的统计分析 报告输出。





※在


ver 11


< br>Output


中的


ETL


数据目 的工具被分到了


Export


的工具栏中。




模型(

Model




Clementi ne


中包括了丰富的数据挖掘模型。



数据流设计区



< br>这个没什么好说的,


看图就知道了,


有向的箭头指明了数 据的流向。


Clementine


项目中可以有多个数据流设计 区,


就像在


PhotoShop


中可以 同时开启多个设计图一样。



比如说,我这里有两个数据流:< /p>


Stream1



Stream2


。通过在管理区的


Streams


栏中点击切 换不同的数量流。






管理区




管理区包括


Streams



Outputs



Models


三栏。


Streams


上面已经说过了,是管理数据流 的。



Outputs



不要跟工具栏中的输出搞混,这里的


Outputs


是图形、输出这类工具产生的分析结果。例如,下面的数据源连接


到矩阵、数据审查、直 方图工具,在执行数据流后,这个工具产生了三个输出。在管理区的


Outputs


栏中双击这


些输出,可看到输出的图形或报表。




Models



经过训练的模型会出现在这一栏中,这就像是真表(


Truth Table


)的概念那样,训练过的模型可以加入的数据流


中用 于预测和打分。另外,模型还可以导出为支持


PMML


协议的< /p>


XML


文件,但是


PMML


没有给定所有模型的规


范,


很多厂商都在

< p>
PMML


的基础上对模型内容进行了扩展,


Cle mentine


除了可以导出扩展的


SPSS SmartSc ore



还可以导出标准的


PMML 3.1




下面使用


Adventure Works


数据库中的


Target Mail


作例子,通过建立分类树和神经网络模型,决策树用来预


测哪些人会响应促销, 神经网络用来预测年收入。



Target Mail


数据在


SQL Server


样本数据库


AdventureWorksDW


中的

< p>
tMail


视图,关于


Target


Mail


详见:



/zh-cn/library/#DataMining



或者我之前的随笔:



/esestt/archive/2007/06/06/



1.


定义数据源


< br>将一个


Datebase


源组件加入到数据流设计区,双 击组件,设置数据源为


tMail


视图。







Types


栏中点


“Read Va lues”


,会自动读取数据个字段的


Type



Values


等信息。






Va lues


是字段包含的值,


比如在数据集中

NumberCardsOwned


字段的值是从


0



4


的数,


Hous eOwnerFlag


只有


1



0


两种值。


Type


是依据


Values


判断字段的类型,


Flag


类型只包含两种值,类似于


boolean

< p>


Set



指包含有限个 值,类似于


enumeration



Ragnge


是连续性数值,类似于


float


。通过了解字段的类型和值,我


们可以确定哪些字段能用来作为预测因子,像< /p>


AddressLine



Phone< /p>



DateFirstPurchase


等字段是无用的,因


为这些字段的值是无序和无意义的。



Direction


表明字段的用法,


“I n”



SQL Server


中叫做< /p>


“Input”,“Out”



SQL Server


中叫做


“PredictOnly”,“Both ”



SQL Server


中叫做


“Predict”



“Partitio n”


用于对数据分组。





2.


理解数据




在建模之前,我们需要了解数据集中都有哪些字段,这些字段如何分布,它们之间是否隐含着相关性等信息。只< /p>


有了解这些信息后才能决定使用哪些字段,应用何种挖掘算法和算法参数。



在除了在建立数据源时


Clementine


能告诉我们值类型外,还能使用输出和图形组件对数据进行探索。






例如 先将一个统计组件和一个条形图组件拖入数据流设计区,跟数据源组件连在一起,配置好这些组件后,点上


方绿色的箭头。






等一会,然后这两个组件就会输出 统计报告和条形图,这些输出会保存在管理区中(因为条形图是高级可视化组


件,其输出 不会出现在管理区),以后只要在管理区双击输出就可以看打开报告。






3.


准备数据



将之前的输出和图形工具从数据流涉及区中删除。




Field Ops


中的

< p>
Filter


组件加入数据流,在


Filter< /p>


中可以去除不需要的字段。



我们只需要 使



MaritalStatus


、< /p>


Gender



YearlyIncom e



TatalChildren


、< /p>


NumberChildrenAtHome


< br>EnglishEducation



EnglishO ccupation



HouseOwnerFlag



NumberCarsOwned



CommuteDistance



Regio n



Age



BikeBuyer


这些字段。



加入


Sample


组件做随机抽样,从源数据中抽取


70%


的数据作为训练集,剩下


30%


作为检验集。





注意为种子指定一个值,学过统计和计算机的应该知道只要种子不变,计算机产生的伪随机序列是 不变的。



因为要使用两个挖掘模型,模型的输入和预测字段是 不同的,需要加入两个


Type


组件,将数据分流。

< p>


决策树模型用于预测甚麽人会响应促销而购买自行车,要将


BikeBuyer


字段作为预测列。






神经 网络用于预测年收入,需要将


YearlyIncome


设置为 预测字段。




< br>有时候用于预测的输入字段太多,会耗费大量训练时间,可以使用


Feature Selection


组件筛选对预测字段影响


较大的字段。




Modeling

中将


Feature Selection


字段拖出来,连 接到神经网络模型的组件后面,然后点击上方的


Execute


Selection







Feature Selection


模型训练后在管理区出现 模型,右击模型,选


Browse


可查看模型内容。模型从


12


个字段中


选出了


11


个字段,认为这


11


个字段对年 收入的影响比较大,所以我们只要用这


11


个字段作为输入列即 可。






将模型从管理区拖入数据流设计区,替换原来的


Feature Selection


组件。



4.


建模



加入


Nearal Net



CHAID


模型组件,



CHAID


组件设置中,



Mode


项设为


”Launch interactive sessi on”



然后点上方的绿色箭头执行整个数据流。





Clementin e


在训练


CHAID


树时,会开启交互 式会话窗口,在交互会话中可以控制树生长和对树剪枝,避免过拟


合。如果确定模型后点 上方黄色的图标。






完成后,在管理区又多了两个模型。把它们拖入数据流设计区 ,开始评估模型。



5.


模型评估



修改抽样组件,将


Mode


改成


“Discard Sample ”


,意思是抛弃之前用于训练模型的那


70%

< br>数据,将剩下


30%


数据用于检验。注意种子不要更改。





< /p>


我这里只检验


CHAID


决策树模型。将 各种组件跟


CHAID


模型关联。






执行 后,得到提升图、预测准确率表


……





6.


部署模型



Export


组件都可以使用


Publish


发布数据流,这里会 产生两个文件,一个是


pim


文件,一个是

par


文件。





pim


文件保存流的所有信息,


par


文件保存参数。有了这两个文件就可以使用

< br>


来执行流,



< br>Clementine Solution Publisher


的执行程序。


Clementine Solution Publisher


是需要单独


授权的。在


SSIS



pim


par


类似于一个


dtsx


文件,



就类似于


< /p>




如果要在其他程序中使用模型,


可以使用


Clementine


执行库



CLEMRTL




相比起


Microsoft



ole db for dm



SPSS< /p>


的提供的


API


在开发上还不是很好用。



了解


SPSS Clementin e


的基本应用后,


再对比微软的


SSA S



各自的优缺点就非常明显了。


微软 的


SSAS



Service Ori ented


的数据挖掘工具,


微软联合


SAS



Hyperion


等公司定义 了用于数据挖掘的


web


服务标准


——


XMLA



微软还提供


OLE DB for


DM


接口和

< br>MDX


。所以


SSAS


的优势是 管理、部署、开发、应用耦合方便。





SQL Server 2005


使用


Visual Studio 2005


作为客户端开发工具,


Visual Studio< /p>



SSAS


项目只能作为模型设计和部< /p>


署工具而已,


根本不能独立实现完整的


C risp-DM


流程。


尽管


MS Ex cel


也可以作为


SSAS


的客户端实 现数据挖掘,


不过


Excel


显然不是 为专业数据挖掘人员设计的。



PS


:既然说到


Visual Studio


,我又忍不住要发牢骚。大家都知道


Visual Studio Team System


是一套非常棒的团队开发工

具,它为团队中不同的角色提供不同的开发模板,并且还有一个服务端组件,通过这套工具实现了团队协作、 项目管理、版本


控制等功能。


SQL Server 2005


相比


2000


的变化之一就是将开发客 户端整合到了


Visual Studio


中,但是这种整合做 得并


不彻底。比如说,使用


SSIS


开 发是往往要一个人完成一个独立的包,比起


DataStage


基于角色提供了四种客户端,


VS


很难


实现元数据、项目管理、并行开发


……


;现在对比


Clementine


也是,


Clementine


最吸引人的地方就是其提供了强大的客户


端。

< br>当然,


Visual Studio


本身是很好的工具,


只不过是微软没有好好利用而已,


期望未来的

< br>SQL Server 2K8



Visual Studio


2K8


能进一步改进。




所以我们不由得想到如果能在


SPSS Clementine


中实现


Crisp-DM


过程,但是将模型部署到


SSAS


就好了。

< p>


首先


OLE DB for DM


包括了


Model_PMML


结构行集,可以使用< /p>


DMX


语句


“Create Mining Model From


PMML



SPSS Clementin e


导出的


PMML


模型加入

< p>
SSAS




如果我记得没错的话,


SQL Server 2005


最初发表版本中


Analysis Services



PMML 2.1


标准,而


Clementine 11



PMML 3.1


的,两者的兼 容性不知怎样,我试着将一个


PMML


文件加入


SSAS


,结果提示错误。





另外,在


SPSS Clement ine


中可以整合


SSAS


,通过使用


SSAS


的算法,将模型部署到


SSA S


。具体的做法是:




SSAS


实例中修改两个属性值。





Clementine

< p>
菜单栏选


Tools -> Helper Applications







然后启用


SSAS


整合,


需要选择


SSAS


数据库和


SQL Server RMDBS



RMDBS


是用来存储临时数据的,


如果在


Clementine


的流中使用了

< br>SAS


数据源,但


SSAS


不支 持


SAS


数据文件,那么


Clemen tine


需要将数据源存入临时数据表中以便


SSAS


能够使用。





启用整合后,就可以在工具栏中看到多出了一类


Datebase Modeling


组件,这些都是


SSAS

的数据挖掘算法,接下来的就不


用说了


……





可惜的是


SSAS


企业版中就带有


9


种算法,另外还有大量第三方的插件,但


Clementine 11.0


中只提供了


7



SSAS< /p>


挖掘


模型。







一接触 数据挖掘,用的就是


Knime


,什么


Weka



SPSS



SAS


基本都只限于听说过而已


-_-.


由于是基于


eclipse


的,对我来说自然是十分 亲切,所以用起来也十分顺手,用了也有一段时间,打算做个阶段性小结,也顺便


提高自 己。













Kni me


是基于


Eclipse


的开源数据 挖掘软件,


它通过工作流的方式来完成数据仓库以及数据挖掘中数据

的抽取


-


转换


-

< br>加载(


Extract-Transform-Load


)操作。其中工作流又是由各个功能便利的结点来完成,节点之间


相互独立,可以单独执 行并将执行后的数据传给下一个结点。界面如下:
















将左下角


Node Repository

区域的结点以此拖入中间的


Worflow Editor


形成工作流:










结点的状态:








结点上有三盏灯,


就像红黄绿交通灯一样。


当结点刚被拖入工作区的时候,


红灯亮起表示数据无法通过,


这 时需要对结点进行配置,让它可以执行。右键单击结点选择“


Configure


”对结点进行配置;配置完成并且


正确的话,便会亮起黄灯,表示准备 就绪数据可以通过;再次右键单击结点选择“


Execute


” 运行这个结点,


当绿灯亮起时表示结点执行成功,数据已经通过并传给下一个结点。







结点分类,一共有以下几类结点:










1



IO


类结点,用于文件、表格、数据模型 的输入和输出操作;










2


、数据库操作类结点,通过


JDBC


驱动对数据库进行操作;










3


、数据操作类结点,对上一结点传进来的数据进行筛选、变换以及简单的统计学计算等操作;










4


、数据视图类结点,提供了数据挖掘中最常用的表格及图形的展示 ,包括盒图,饼图,直方图,数据


曲线等;










5


、统计学模型类结点,封装了统计学模型算法类的结点,如线性回归、多项式回归等;










6


、数据挖掘模型类结点,提供了贝叶斯分析,聚类分析,决策树, 神经网络等主要的


DM


分类模型以


及相 应的预测器;










7



MET A


原子结点,该类结点可以对任意的及结点进行嵌套封装,还提供了后向传播、迭代、循 环、


交叉验证等方法;










8


、其他 ,可供我们自定义


java


代码段,以及设置规则引擎。





< p>
本文来自


CSDN


博客,转载请标明出处:


/ipis_gx/archive/2009/09/15/


Cle mentine


应用图









作者:数据挖掘技术研究小组



版本:


1.0


日期:


20050806

























































第三部分



应用实例



一、市场购物篮问题分析



ss and data understanding


目标:客户细分,发现购买相似的客 户群,用人口统计学特征进行描述。



方法:关联规则建模



数据集:


baskets


包括字段:



Candid

< p>
:该购物篮使用者的忠诚卡识别字



Value


:付款总额











Pmethod


:付款方法



持卡者详细的个人资料



sex


:性別









homeown

< br>:持有信用卡的人是否是有自己的住房



income


:收入






age


:年齡



购物篮內容


:


fruitveg








水果蔬菜







freshmeat







新鲜肉品



dairy











牛奶










cannedveg







罐装蔬菜




cannedmeat







罐装肉品






frozenmeal







冻肉品



beer













啤酒










wine














softdrink







苏打饮料








fish














confectionery




糖果



过程:



e


使用


web


图和


GRI


节点来观察客户购买的商品之间的联系。



首先要在


type


节 点中定义变量类型和方向,将


candid


设置为


typeless


,个人


资料字段设置为

< p>
none


,其他购物篮内容设置为


both


(即可以作为输入也可作为输


出)流程如下:




















3.1.1


GRI


输出结果:


























3.1.2


从上面的结果中看出


:


肉类、啤酒、罐装蔬菜关联性比较大 。



提高此


web

图的门



值,只留下最强的连接。操作步骤如下:






(1)


移动工具栏上的滑标,设置只有到达


50


个的连接才显示出来。









滑标上的工具提示目前的连接强度。






(2)


选择显示若连接还是强连接。


单击工具条上的黄色箭头按钮,< /p>


扩展对话方框


来显示


web


输出概要和控制项。






(3)


选择显示强

< br>/


正常


/


弱的大小。这将启动下 面的滑标控制项。






(4)


使用滑标或在文本框中指定一 个数来设置低于


90


的弱连接。






(5)


使用滑标或在文本框中指定一个数来设置高于


100

< p>
的强连接。






























3.1.3


web



GRI


分析结果来看可以 找出三组强连接:




1




b


eer



can nedveg



frozenmeal



2




w


ine



con fectionery



3




f


ruitveg



fish


从而可以归纳出三类客户,通过


derive


节点生成一个标记字段来区别这三类


客户,在


derive


节点中增加一个


set


类型字段,如下:




3.1.4



更正:上式中


3

对应得条件应为


('frozenmeal' == 'T' and 'beer' == 'T')


and ('cannedveg' == 'T' and 'beer' == 'T') and ('cannedveg' == 'T' and


'frozenmeal' == 'T')



3.1.5


另一种方法:把鼠标放在连线上,线变成红色后点击右键的


generate


derive


node for link


这时就生成了一个二分变量。




web


显示器生成三个二分变量来标记三种客户:

< br>



3.1.6






欲描述 这些客户群的特征,我们可以通过关联规则或决策树来观察,增加一


< br>type


节点,


把关于客户资料的一些变量设置为


in



beer_beans_pizza< /p>


设置为


out



其他的为


none


,通过


C5.0


节点,运行得到结果,可以看出,属于这类群的客户特


< p>
:


收入低于


16900


的 女性









assessment


通过节点


analysis

< p>
来评价模型,


可以使用另一个数据集来进行验证模型,

这里


继续使用原数据来看模型的效果。在


analysis


节点中选择


coincidence matices



3.1.7



3.1.8



最后得到的效果如下:




Correct


967


96.7%


Wrong


33


3.3%


Total



1000


-


-


-


-


-


-


-


-



本文更新与2021-02-10 05:44,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/626823.html

SPSS Clementine和KNIME数据挖掘入门的相关文章