Clementine使用经典实例

下面使用Adventure Works数据库中的Target Mail作例子,通过建立分类树和神经网络模型,决策树用来预测哪些人会响应促销,神经网络用来预测年收入。

Target Mail数据在SQL Server样本数据库AdventureWorksDW中的dbo.vTargetMail视图,关于Target Mail详见:

http://technet.microsoft.com/zh-cn/library/ms124623.aspx#DataMining

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组件。

4. 建模

加入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在开发上还不是很好用。

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可视化数据挖掘应用实例一则——某银行信贷规则评估 吴源林 (上海财经大学MBA 学院,上海 200083) 摘要:本文应用 Clementine 工具,通过对某银行评估客户信用申请的资料挖掘,展示 了数据挖掘中遇到的问题和解决思路。 关键词:数据挖掘;决策树;Clementine 数据挖掘是运用模式识别技术,以及统计和数 学知识,通过对大量的、不完全的、有噪声的、模 糊的、随机的数据集进行详尽审查挖掘,以发现数 据中内在的关联性、特征和趋势。数据挖掘综合了 多种学科技术,能提供数据分类、聚类、关联和预 测等功能。 近年来,数据挖掘技术已经在 国外多行业中得到了普遍应用,尤 其在金融、电信、零售等领域。许 多企业纷纷利用数据挖掘技术作为 他们获取竞争优势的战略工具,典 型的数据挖掘应用包括生产营运管 理、营销管理和信用分析等。一些 软件公司也推出了功能强大、用户 友好的数据挖掘应用软件,如SAS 公司的Data Miner,SPSS 公司的 Clementine,IBM Intelligent Miner 等,微软公司在其客户关系管理软 件CRM3.0 中也集成了部分数据挖 掘功能。 目前国内不少企业也正在引进 和开始实施这些技术,以期提高其 决策管理能力和竞争优势。但数据 挖掘不仅仅是一个技术运用问题, 其涉及到商务活动中的各个方面。 如果我们对所研究的问题和数据挖掘方法的认识不 够深入的话,则很可能得到错误的信息,造成巨大 的经济损失。 本文通过对日本某银行审批客户申请贷款的记 录进行挖掘,展示数据挖掘中可能遇到的问题和解 决思路,并希望能起到抛砖引玉的作用。 数据挖掘功能的强大性,使其几乎可以运用于 任何商业或科研领域,为了保障数据挖掘的质量和 有效性,SPSS 公司联合几大行业巨头制定了“数据 挖掘跨行业标准流程”(CRISP-DM1)。我们下面的 挖掘过程也将严格按照该流程进行。为清晰展现整 个数据挖掘流程, 我们使用了SPSS 公司的 Clementine 工具。该工具使用节点连接的方式建立 模型,能让我们直观了解建模过程,并把注意力集 中在具体问题的分析上。 一、商业理解,亦即研究理解阶段 这一阶段把项目的目标和要求用清晰的,并把 这些目标和制约条件转化成数据挖掘问题的定义, 形成一个初步实现目标的策略; 在本例中,我们的目标是要找出银行批准或否
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值