《SPSS-Clementine和KNIME数据挖掘入门.doc》由会员分享,可在线阅读,更多相关《SPSS-Clementine和KNIME数据挖掘入门.doc(69页珍藏版)》请在三一办公上搜索。
1、SPSSClementine是Spss公司收购ISL获得的数据挖掘工具。在Gartner的客户数据挖掘工具评估中,仅有两家厂商被列为领导者:SAS和SPSS。SAS获得了最高ability to execute评分,代表着SAS在市场执行、推广、认知方面有最佳表现;而SPSS获得了最高的completeness of vision,表明SPSS在技术创新方面遥遥领先。客户端基本界面 SPSS Clementine(在此简称clementine)在安装好后会自动启用服务,服务端的管理需要使用SPSS Predictive Enterprise Manager,在服务端clementine没有复杂
2、的管理工具,一般的数据挖掘人员通过客户端完成所有工作。下面就是clementine客户端的界面。一看到上面这个界面,我相信只要是使用过SSIS+SSAS部署数据挖掘模型的,应该已经明白了六、七分。是否以跃跃欲试了呢,别急,精彩的还在后面 _项目区顾名思义,是对项目的管理,提供了两种视图。其中CRISP-DM (Cross Industry Standard Process for Data Mining,数据挖掘跨行业标准流程)是由SPSS、DaimlerChrysler(戴姆勒克莱斯勒,汽车公司)、NCR(就是那个拥有Teradata的公司)共同提出的。Clementine里通过组织CRIS
3、P-DM的六个步骤完成项目。在项目中可以加入流、节点、输出、模型等。工具栏工具栏总包括了ETL、数据分析、挖掘模型工具,工具可以加入到数据流设计区中,跟SSIS中的数据流非常相似。Clementine中有6类工具。源工具(Sources)相当SSIS数据流中的源组件啦,clementine支持的数据源有数据库、平面文件、Excel、维度数据、SAS数据、用户输入等。记录操作(Record Ops)和字段操作(Field Ops)相当于SSIS数据流的转换组件,Record Ops是对数据行转换,Field Ops是对列转换,有些类型SSIS的异步输出转换和同步输出转换(关于SSIS异步和同步输
4、出的概念,详见拙作:图形(Graphs)用于数据可视化分析。输出(Output)Clementine的输出不仅仅是ETL过程中的load过程,它的输出包括了对数据的统计分析报告输出。在ver 11,Output中的ETL数据目的工具被分到了Export的工具栏中。模型(Model)Clementine中包括了丰富的数据挖掘模型。数据流设计区这个没什么好说的,看图就知道了,有向的箭头指明了数据的流向。Clementine项目中可以有多个数据流设计区,就像在PhotoShop中可以同时开启多个设计图一样。比如说,我这里有两个数据流:Stream1和Stream2。通过在管理区的Streams栏中点
5、击切换不同的数量流。管理区管理区包括Streams、Outputs、Models三栏。Streams上面已经说过了,是管理数据流的。Outputs不要跟工具栏中的输出搞混,这里的Outputs是图形、输出这类工具产生的分析结果。例如,下面的数据源连接到矩阵、数据审查、直方图工具,在执行数据流后,这个工具产生了三个输出。在管理区的Outputs栏中双击这些输出,可看到输出的图形或报表。Models经过训练的模型会出现在这一栏中,这就像是真表(Truth Table)的概念那样,训练过的模型可以加入的数据流中用于预测和打分。另外,模型还可以导出为支持PMML协议的XML文件,但是PMML没有给定所
6、有模型的规范,很多厂商都在PMML的基础上对模型内容进行了扩展,Clementine除了可以导出扩展的SPSS SmartScore,还可以导出标准的PMML 3.1。下面使用Adventure Works数据库中的Target Mail作例子,通过建立分类树和神经网络模型,决策树用来预测哪些人会响应促销,神经网络用来预测年收入。Target Mail数据在SQL Server样本数据库AdventureWorksDW中的dbo.vTargetMail视图,关于Target Mail详见:或者我之前的随笔:1.定义数据源将一个Datebase源组件加入到数据流设计区,双击组件,设置数据源为db
7、o.vTargetMail视图。在Types栏中点“Read Values”,会自动读取数据个字段的Type、Values等信息。Values是字段包含的值,比如在数据集中NumberCardsOwned字段的值是从0到4的数,HouseOwnerFlag只有1和0两种值。Type是依据Values判断字段的类型,Flag类型只包含两种值,类似于boolean;Set是指包含有限个值,类似于enumeration;Ragnge是连续性数值,类似于float。通过了解字段的类型和值,我们可以确定哪些字段能用来作为预测因子,像AddressLine、Phone、DateFirstPurchase等
8、字段是无用的,因为这些字段的值是无序和无意义的。Direction表明字段的用法,“In”在SQL Server中叫做“Input”,“Out”在SQL Server中叫做“PredictOnly”,“Both”在SQL Server中叫做“Predict”,“Partition”用于对数据分组。2.理解数据在建模之前,我们需要了解数据集中都有哪些字段,这些字段如何分布,它们之间是否隐含着相关性等信息。只有了解这些信息后才能决定使用哪些字段,应用何种挖掘算法和算法参数。在除了在建立数据源时Clementine能告诉我们值类型外,还能使用输出和图形组件对数据进行探索。例如先将一个统计组件和一个条
9、形图组件拖入数据流设计区,跟数据源组件连在一起,配置好这些组件后,点上方绿色的箭头。等一会,然后这两个组件就会输出统计报告和条形图,这些输出会保存在管理区中(因为条形图是高级可视化组件,其输出不会出现在管理区),以后只要在管理区双击输出就可以看打开报告。3.准备数据将之前的输出和图形工具从数据流涉及区中删除。将Field Ops中的Filter组件加入数据流,在Filter中可以去除不需要的字段。我们只需要使用MaritalStatus、Gender、YearlyIncome、TatalChildren、NumberChildrenAtHome、EnglishEducation、English
10、Occupation、HouseOwnerFlag、NumberCarsOwned、CommuteDistance、Region、Age、BikeBuyer这些字段。加入Sample组件做随机抽样,从源数据中抽取70%的数据作为训练集,剩下30%作为检验集。注意为种子指定一个值,学过统计和计算机的应该知道只要种子不变,计算机产生的伪随机序列是不变的。因为要使用两个挖掘模型,模型的输入和预测字段是不同的,需要加入两个Type组件,将数据分流。决策树模型用于预测甚麽人会响应促销而购买自行车,要将BikeBuyer字段作为预测列。神经网络用于预测年收入,需要将YearlyIncome设置为预测字段。
11、有时候用于预测的输入字段太多,会耗费大量训练时间,可以使用Feature Selection组件筛选对预测字段影响较大的字段。从Modeling中将Feature Selection字段拖出来,连接到神经网络模型的组件后面,然后点击上方的Execute Selection。Feature Selection模型训练后在管理区出现模型,右击模型,选Browse可查看模型内容。模型从12个字段中选出了11个字段,认为这11个字段对年收入的影响比较大,所以我们只要用这11个字段作为输入列即可。将模型从管理区拖入数据流设计区,替换原来的Feature Selection组件。4.建模加入Nearal
12、Net和CHAID模型组件,在CHAID组件设置中,将Mode项设为”Launch interactive session”。然后点上方的绿色箭头执行整个数据流。Clementine在训练CHAID树时,会开启交互式会话窗口,在交互会话中可以控制树生长和对树剪枝,避免过拟合。如果确定模型后点上方黄色的图标。完成后,在管理区又多了两个模型。把它们拖入数据流设计区,开始评估模型。5.模型评估修改抽样组件,将Mode改成“Discard Sample”,意思是抛弃之前用于训练模型的那70%数据,将剩下30%数据用于检验。注意种子不要更改。我这里只检验CHAID决策树模型。将各种组件跟CHAID模型关
13、联。执行后,得到提升图、预测准确率表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执行库(CL
14、EMRTL),相比起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项目只能作为模
15、型设计和部署工具而已,根本不能独立实现完整的Crisp-DM流程。尽管MS Excel也可以作为SSAS的客户端实现数据挖掘,不过Excel显然不是为专业数据挖掘人员设计的。PS:既然说到Visual Studio,我又忍不住要发牢骚。大家都知道Visual Studio Team System是一套非常棒的团队开发工具,它为团队中不同的角色提供不同的开发模板,并且还有一个服务端组件,通过这套工具实现了团队协作、项目管理、版本控制等功能。SQL Server 2005相比2000的变化之一就是将开发客户端整合到了Visual Studio中,但是这种整合做得并不彻底。比如说,使用SSIS开发是
16、往往要一个人完成一个独立的包,比起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 Mi
17、ning 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。然后启用S
18、SAS整合,需要选择SSAS数据库和SQL Server RMDBS,RMDBS是用来存储临时数据的,如果在Clementine的流中使用了SAS数据源,但SSAS不支持SAS数据文件,那么Clementine需要将数据源存入临时数据表中以便SSAS能够使用。启用整合后,就可以在工具栏中看到多出了一类Datebase Modeling组件,这些都是SSAS的数据挖掘算法,接下来的就不用说了可惜的是SSAS企业版中就带有9种算法,另外还有大量第三方的插件,但Clementine 11.0中只提供了7种SSAS挖掘模型。一接触数据挖掘,用的就是Knime,什么Weka,SPSS,SAS基本都只限于
19、听说过而已-_-.由于是基于eclipse的,对我来说自然是十分亲切,所以用起来也十分顺手,用了也有一段时间,打算做个阶段性小结,也顺便提高自己。 Knime是基于Eclipse的开源数据挖掘软件,它通过工作流的方式来完成数据仓库以及数据挖掘中数据的抽取-转换-加载(Extract-Transform-Load)操作。其中工作流又是由各个功能便利的结点来完成,节点之间相互独立,可以单独执行并将执行后的数据传给下一个结点。界面如下: 将左下角Node Repository区域的结点以此拖入中间的Worflow Editor形成工作流: 结点的状态: 结点上有三盏灯,就像红黄绿交通灯一样。当结点刚
20、被拖入工作区的时候,红灯亮起表示数据无法通过,这时需要对结点进行配置,让它可以执行。右键单击结点选择“Configure”对结点进行配置;配置完成并且正确的话,便会亮起黄灯,表示准备就绪数据可以通过;再次右键单击结点选择“Execute”运行这个结点,当绿灯亮起时表示结点执行成功,数据已经通过并传给下一个结点。 结点分类,一共有以下几类结点: 1、IO类结点,用于文件、表格、数据模型的输入和输出操作; 2、数据库操作类结点,通过JDBC驱动对数据库进行操作; 3、数据操作类结点,对上一结点传进来的数据进行筛选、变换以及简单的统计学计算等操作; 4、数据视图类结点,提供了数据挖掘中最常用的表格及
21、图形的展示,包括盒图,饼图,直方图,数据曲线等; 5、统计学模型类结点,封装了统计学模型算法类的结点,如线性回归、多项式回归等; 6、数据挖掘模型类结点,提供了贝叶斯分析,聚类分析,决策树,神经网络等主要的DM分类模型以及相应的预测器; 7、META原子结点,该类结点可以对任意的及结点进行嵌套封装,还提供了后向传播、迭代、循环、交叉验证等方法; 8、其他,可供我们自定义java代码段,以及设置规则引擎。本文来自CSDN博客,转载请标明出处:作者:数据挖掘技术研究小组版本:1.0日期:20050806 第三部分 应用实例一、市场购物篮问题分析1.Business and data underst
22、anding目标:客户细分,发现购买相似的客户群,用人口统计学特征进行描述。方法:关联规则建模数据集:baskets 包括字段:Candid:该购物篮使用者的忠诚卡识别字Value:付款总额 Pmethod:付款方法持卡者详细的个人资料sex:性別 homeown:持有信用卡的人是否是有自己的住房income:收入 age:年齡购物篮內容:fruitveg 水果蔬菜 freshmeat 新鲜肉品dairy 牛奶 cannedveg 罐装蔬菜 cannedmeat 罐装肉品 frozenmeal 冷冻肉品beer 啤酒 wine 酒softdrink 苏打饮料 fish 鱼confectione
23、ry 糖果过程:2.Explore使用web图和GRI节点来观察客户购买的商品之间的联系。首先要在type节点中定义变量类型和方向,将candid设置为typeless,个人资料字段设置为none,其他购物篮内容设置为both(即可以作为输入也可作为输出)流程如下: 图3.1.1GRI输出结果: 图3.1.2从上面的结果中看出:肉类、啤酒、罐装蔬菜关联性比较大。提高此web图的门槛值,只留下最强的连接。操作步骤如下: (1)移动工具栏上的滑标,设置只有到达50个的连接才显示出来。 滑标上的工具提示目前的连接强度。 (2)选择显示若连接还是强连接。单击工具条上的黄色箭头按钮,扩展对话方框来显示w
24、eb输出概要和控制项。 (3)选择显示强/正常/弱的大小。这将启动下面的滑标控制项。 (4)使用滑标或在文本框中指定一个数来设置低于90的弱连接。 (5)使用滑标或在文本框中指定一个数来设置高于100的强连接。 图3.1.3从web和GRI分析结果来看可以找出三组强连接:(1) beer、cannedveg、frozenmeal(2) wine、confectionery(3) fruitveg、fish从而可以归纳出三类客户,通过derive节点生成一个标记字段来区别这三类客户,在derive节点中增加一个set类型字段,如下:图3.1.4更正:上式中3对应得条件应为(frozenmeal
25、= 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显示器生成三个二分变量来标记三种客户:图3.1.63.model欲描述这些客户群的特征,我们可以通过关联规则或决策树来观察,增加一个type节点,把关于客户资料的一些变量设置为in,beer_beans_pizza设置为out,其他的为none,通过C5.0节点,
26、运行得到结果,可以看出,属于这类群的客户特征:收入低于16900的女性图3.1.74.Model assessment通过节点analysis来评价模型,可以使用另一个数据集来进行验证模型,这里继续使用原数据来看模型的效果。在analysis节点中选择coincidence matices图3.1.8最后得到的效果如下:Correct 96796.7%Wrong 333.3%Total 1000二、客户流失下面的试验是对客户流失预警的模拟,数据资料来源于05年1月份以前,我们要做的是在试验当月(12月份)根据客户11月份及以前的数据,预测用户1月份的流失状态。 按如下规则抽样:选取在网时长大于
27、90天,11月份mou值大于零,且倒数第二位号码为0的客户10000人。 用户流失状态按如下定义:1月份mou值为零则定义为流失,赋值输出变量为0,否则为不流失,赋值输出变量为1。1.用节点SQL读取数据并编辑字段属性我们选用SQL节点从oracle中读取数据。如图1在SQL节点编辑中首先需要建立数据源和clementine的连接,在datasource下选择add new就会弹出图3.2.1窗口,选择我们需要的数据源即可。 图3.1.1 图3.2.2 图3.2.2中的datasources都是已在ODBC中建立好的连接。然后在tablename中选择数据表,如图3.2.3:图3.2.3接着在
28、type标签里设置字段的类型和在模型中的角色(输入或输出),如图3.2.4:图3.2.4其中我们设置最后一个变量为flag(二值型),并当作目标输出。2.选择抽样数据集如图3.2.5所示在添加的sample节点中设置随机抽取50的样本,图3.2.53.平衡数据集由于流失与否的客户在样本中所占比例相差很大(约3:7),这对许多训练模型来说会有错误的诱导趋势,使训练结果向比例大的一方转变,而忽视对比例小的一方的学习,比如神经网络等,这里我们用balance节点对数据集进行平衡处理,如图3.2.6:图3.2.6图6中表示的是目标变量为0的用户数增为原来的3倍,多于的部分复制原有客户即可;目标变量为1
29、的客户取原来的0.6*100%,这样样本中目标为0和1的客户数量就基本持平了。4.选择模型并训练这里我们选择两个模型,神经网络(NN节点)和决策树(C5.0节点),分别设置它们的目标变量和输入变量(由于前面都已经设置好了,所以此处用默认值也可以),如图3.2.7:左侧为C5.0,右侧为NN,他们选择输入和目标的方法相似,只是在NN设置时选择50%的样本为测试集,如右侧图中prevent overtraining一栏。 图3.2.75.执行流并得到输出模型到目前为止,我们的整个的处理过程已如下图所示: 图3.2.8执行此流我们能得到如下图示的两个模型: 图3.2.96.评价所得模型首先,把在第5
30、步得到的模型(Models)加入到流中,直接从Model面板将其拖入流程区即可。如图3.2.10所示连接,在串联了两个Model后,再增加一个Analysis节点,对模型进行评估。Analysis节点只能判断模型总的准确率,而我们更关心的是模型对1和0分别进行预测的正确率,所以在两个Model下各自加入一个Matrix节点,他们的设置如图3.2.11,其中$N-SYH2NISOMOUZ和$C-SYH2NISOMOUZ分别是两个模型预测的结果,右面的Appearance标签中选中行列百分比。L1L3L2L3Table图3.2.10 图3.2.11运行图3.2.10中的L1路线(此时L2和L3都尚
31、未连接,运行L2、L3时同理),对训练集进行测试,会得到如图12的3个输出,从总可以看出2个模型各自的准确率。Analysis中输出的是两个模型总的准确率,以及两个预测后重合部分的准确率,Matrix节点输出的是各模型分别预测1和0的准确率和覆盖率:row%一行是覆盖率,column%一列是准确率。Analysis输出 两个Matrix节点输出 图3.2.12然后运行L2路线,它是抽取了原始样本剩余的50%的数据对得到的模型进行一下测试,所得结果和图3.2.12类似。只是这里注意样本的抽取技巧,因为我们取的是随机样本,为了避免训练和测试样本重复,作如下设置,训练集的sample节点如左侧,测试
32、集如右侧,一个选择include,一个选择discard,下面的random seed一定要填写相同的随机种子。图3.2.13最后运行L3路线,对另一样本集作预测,需要在最后添加一个Table节点,以显示预测的结果,如图3.2.14。 图3.2.14三、零售业范例主要用来处理零售产品以及受促销的影响。目标:预测将来促销所带来的影响1.Examining the Data每条记录包括字段:Class:产品类型 Price:单价Promotion:具体促销的计量指标 Before:促销前的收入After:促销后的收入 cost:促销的成本2.Explore促销前后的差额就是促销带来的收益,首先通过
33、derive节点来增加一个字段increase表示收入增加百分比(After - Before) / Before*100,并通过图形节点观察收益值的分布。 图3.3.1 收入增加的分布图如下: 图3.3.2Cost与increase的散点图如下: 图3.3.3Promotion与increase散点图如下:图中不同的颜色代表不同产品。图3.3.4 从上面的途中均可以看出促销对不同的产品影响也不同, promotion与increase有一定的线性关系,接下来我们可以用神经网络和决策树来对进行分析预测。3.Model图3.3.5 4.验证用另一个数据集goods2n来验证,可以把各个模型得到的
34、预测值输出,通过analysis节点来比较两个模型。图3.3.6四、欺诈发现案例1.Accessing the Data 背景是关于对农业发展贷款的申请,每一条记录描述的是某一个农场对贷款的申请,我们主要考虑两种贷款问题:土地开发贷款和退耕贷款。各个字段:id. 唯一的识別字 name. 申请人名 region.地理位置(midlands/north/southwest/southeast) andquality. 农场主对地产质量的声明 rainfall. 农场的年降雨量 farmincome. 农场的年产量 maincrop. 主要作物 (maize/wheat/potatoes/rape
35、seed) claimtype. 申请贷款类(decommission_land/arable_dev). claimvalue. 申请贷款数额2.Data Investigation首先要通过探索性的图形来观察数据。我们要考虑资料中可能存在的欺诈类型,假设在资料中每个农场有一个唯一的标示,那么可以计算出每个标识出现的次数,连接到distribution节点 图3.4.1为了探索其他可能的欺诈形式,我们可以撇开多次申请的纪录,将注意力集中到只申请过一次的记录上来。可以用选择节点Select Node)删除相应的记录。通过clementine,我们可以以size, main crop, soil
36、 type建立一个模型来估计农场的收入,建模前,我们需要通过derive节点来生成一个新变量,用下面的值来作为农场的收入估计值。Farmsize*rainfall*landquality为了发现那些偏离估计值的农场,我们需要得到一个新字段表示估计值与实际值(farmincome)偏离的百分数,计算方法如下:(abs(farmincome - estincome) / farmincome) * 100通过直方图,我们可以发现偏离diff的特征,可以用变量claimtype来分层,以观察土地类型对收入估计是否有影响。 图3.4.2从图中我们可以看到,所有较大的偏差都发生在 arable_dev类
37、型的申请时,因此,我们只选择arable_de类贷款申请作为研究对象。将一个和选择节点Select Node加到导出节点 diff 的后面,使用CLEM运算式claimtype = arable_dev进行筛选。 3.Training a Neural Network经过数据探索,我们发现将真实值和通过一些列因变量得到的期望值进行比较似乎是有用的。神经网络可以用来处理此类问题。神经网络通过各个变量对申请金额进行预测,使用预测结果,我们可以探索偏离正常值的记录或记录组。首先要用一个type节点,把claimvalue作为out, 图3.4.3增加神经网络节点,并运行,把得到的模型放入流程中,通过
38、plot节点来观察预测值和实际值 图3.4.4这时我们通过derive节点产生一个claimdiff表示实际值与预测值之间的偏差,然后再用一个直方图来观察偏差的分布。 图3.4.5在偏差为50%处增加一个分割,点击右键,选择generate select node for band产生一个select节点,选择claimdiff50的记录进行深层研究。4.总结本例建立了一个预测模型将模型预测值和实际值进行比较,我们发现偏差主要出现在一中拨款申请类型(可耕地开发)中,然后进行更深入的分析。 通过一个训练后的神经网络模型,归纳出申请额和农场大小、估计的收入,主要作物等等之间的关系。然后与神经网络的
39、估计值相比较,大于50%的将被认为是需要进一步调查的。当然,最终这些申请可能是有效的,但是它们与正常值的差异确实值得注意的。五、Drug exampleAccessing the data下面来自一家医院中患同种病的病人的数据,在治疗过程中,每个病人对五种药物的反应,该资料中包含的字段如下Age(Number)SexM or FBPBlood pressure: HIGH, NORMAL, or LOW(血压)CholesterolBlood cholesterol: NORMAL or HIGH(胆固醇)NaBlood sodium concentrationKBlood potassium
40、 concentrationDrugPrescription drug to which a patient respondedData investigtgation首先通过一些图形来观察数据,我们可以利用分布图来观察病人对药物反应的情况。从上面的图中可以看出,病人对drugY的反应最频繁,而对drugB和drugC的反应最少。利用data ardit节点也可以观察各个变量的分布在上面的图中点击任何一个图就可以显示对应变量的分布图或直方图,同样也可以用来观察数据的分布。通过散点图来观察在不同的药物下的k、Na含量布同的颜色代表不同的药物,从图中可以看出,drugY药物下,k的含量很低。Dat
41、a preparation从前面的探索中发现,不同药物下的k、Na含量有不同,我们生成一个新变量(Na-K)来表示K、Na含量比(Na/K);通过直方图来观察Na-K分布。从上图中可以看出,drugY的 na-k值最大接下来我们通过一个web图来观察各种药物对血压的关系。从上面的图中观察:drugY跟三种血压都有连接,说明drugY对血压的影响不显着,另外还可以清楚地看到,drugA和B与high血压相连,drugC和X与低血压相连,而normal血压与drugX相连。从上面的分析中可以得到初步的认识:血压和Na、K含量比会影响到药物的选择,但并不能完全解释它们之间的关系。这时我们需要建立模型
42、来解释。Modeling这里我们选择用关联规则的c5.0算法来建立模型首先,增加一个type节点将drug设置为out,读入数据,增加一个filter节点把Na、K两个变量过滤掉。 通过关联规则得到使用各种要的前提。Access通过一个analysis节点来评价模型的准确度评价结果可以看出模型的精度达到99.5%Deploy the result There are a number of ways to export individual objects in Clementine. You can also export model results as Predictive Model Markup Language (PMML) using the context menu options available from the Model tab of