最近开始学Clementine,将整个流程记录一下方便日后回顾,这一篇主要是简介和思想方面的,具体操作会在之外的博客里
Clementine是ISL(Integral Solutions Limited)公司开发的数据挖掘工具平台,其结合商业技术可以快速建立预测性模型。进而应用到商业活动中,帮助人们改进决策过程。Clementine 提供最出色、最广泛的数据挖掘技术,确保看用最恰当的分析技术来处理相应的问题,从而得到最优的结果以应对随时出现的商业问题。即便改进业务的机会被庞杂的数据表格所掩盖,Clementine 也能最大限度地执行标准的数据挖掘流程,找到解决商业问题的最佳答案。目前,50%以上的数据挖掘工具采用的都是CRISP-DM的数据挖掘流程,已经成为事实上的行业标准。而Clementine 支持CRISP-DM标准,不仅能够规避许多常规错误,而且其显著的智能预测模型有助于快速解决出现的问题。
一、Clementine 应用模板
(1)CRMCAT–针对客户的获取和增长,提高反馈率并减少客户流失;
(2)WebCAT–点击顺序分析和访问行为分析;
(3)cTelcoCAT–客户保持和增加交叉销售;
(4)CrimeCAT–犯罪分析及其特征描述,确定事故高发区,联合研究相关犯罪行为;
(5)FraudCAT–发现金融交易和索赔中的欺诈和异常行为;
(6)MicroarrayCAT–研究和疾病相关的基因序列并找到治愈手段。
**二、 利用 Clementine,可以在如下几方面提供解决方案: **
(1)公共部门。各国政府都使用数据挖掘来探索大规模数据存储,改善群众关系,侦测欺诈行为(譬如洗黑钱和逃税),检测犯罪行为和恐怖分子行为模式以及进一步扩展电子政务领域。
(2)CRM。客户关系管理可以通过对客户类型的智能分类和客户流失的准 确预测而得到提高。Clementine 已成功帮助许多行业的企业吸引并始终保有最有价值的客户。
(3)Web 挖掘。Clementine 包含的相关工具具有强大的顺序确定和预测算法,对于准确发现网站浏览者的行为以及提供精确满足浏览者需求的产品或信息而言,这些工具是不可或缺的。从数据准备到构建模型,全部的数据挖掘过程均 可在 Clementine 内部操控。
(4)药物发现和生物信息学。通过对由试验室自动操作获得的大量数据进行分析,数据挖掘有助于药物和基因组的研究。聚类和分类模型帮助从化合物库中找出线索,与此同时顺序检测则有助于模式的发现。
三、基本思想
数据挖掘:从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程,它是一种深层次的数据分析方法。。随着科技的发展,数据挖 掘不再只依赖在线分析等传统的分析方法。它结合了人工智能(AI)和统计分析的长处,利用人工智能技术和统计的应用程序,并把这些高深复杂的技术封装起来,使人们不用自己掌握这些技术也能完成同样的功能,并且更专注于自己所要解决的问题。
Clementine优点:
(1)提供大量的人工智能、统计分析的模型(神经网络、关联分析、聚类分析、因子分析等),并用基于图形化的界面为我们认识、了解熟悉这个软件提供方便
(2)有优良的数据挖掘涉及思路,提供清晰的工作思路
(3)Clementine遵循CRISP-DM Model(Cross Industry sStandard Process for Data Mining,数据挖掘跨行业标准流程),具体如图所示
如图可知,CRISP-DMModel包含了六个步骤,并用箭头指示了步骤间的执行顺序。这些顺序并不严格,用户可以根据实际的需要反向执行某个步骤,也可以跳过某些步骤不予执行。通过对该步骤的执行,我们也涵盖了数据挖掘的关键部分。
1. 商 业 理 解
商业理解阶段应算是数据挖掘中最重要的一个部分,在这个阶段里我们需要明确商业目标、评估商业环境、确定挖掘目标以及产生一个项目计划。 Clementine的可视化操作界面使得企业可以更易地把业务知识应用到数据挖掘项目中。此外,使用针对特定商业目标的Clementine应用模板(CATs),可以在数据掘工作中使用成熟的、最佳的方法。CATs使用的样本数据可以以平面文件或者关系型数据库表的形式安装。
■ 客户关系管理(CRM)CAT*
■ 电信CAT* ■ 欺诈探测CAT*
■ 微阵列CAT*
■ 网页挖掘CAT*(需要购买WebMiningforClementine)
2.数据理解
数据是我们挖掘过程的“原材料”,在数据理解过程中我们要知道都有些什么数据,这些数据的特征是什么,可以通过对数据的描述性分析得到数据的特点。 使用Clementine,可以做到:
■ 使用Clementine的数据审核节点获取对数据的初步认识;
■ 通过图形、统计汇总或数据质量评估快速浏览数据;
■ 创建基本的图表类型,如直方图、分布图、线形图和点状图;
■ 在图形面板节点中通过自动帮助方式创建比过去更多的基本图形及高级图形;
■ 通过表格定制节点轻松创建复杂的交叉表;
■ 编辑图表使分析结果交流变得更容易;
■ 通过可视化联接技术分析数据的相关性;
■ 与数据可视化互动,可在图形中选择某个区域或部分数据,然后对选择的数据部分再进行观察或在后续分析中使用这些信息;
■ 在Clementine中直接使用SPSS统计分析、图形以及报表功能。
3. 数 据 准 备
在数据准备阶段我们需要对数据作出选择、清洗、重建、合并等工作。选出要进行分析的数据,并对不符合模型输入要求的数据进行规范化操作。运用 Clementine,可以做到:
(1)访问数据 –—结构化(表格) 数据
■ 通过SPSSDataAccessPack访问支持ODBC的数据源,包括IBMDB2, Oracle,Microsoft SQLServer,Informix和Sybase数据库;
■ 导入用分隔符分隔和固定宽度的文件,任何SPSS的文件,SAS6,7,8, 和 9文件;
■ 在读取Excel文件时,可以限定工作表和数据范围。 –—非结构化(原文) 数据
■ 使用TextMiningforClementine自动从任何类型的文本中提取各种概念。–—网站数据
■ 使用WebMiningforClementine自动从网络日志中提取网站上的事件。 –----调查数据
■ 直接访问存储在Dimensions数据模型或Dimensions*产品中的数据文件。 –— 数据输出
■ 可以输出为分隔符分隔,固定宽度的文件,所有主流数据库数据, Microsoft Excel,SPSS,和SAS6,7,8和9文件;
■ 使用Excel导出节点导出成XLS格式;
■ 为市场调研输出数据到Dimensions中。
**(2)各种数据清洗选项 – 移出或者替换无效数据 – 使用预测模型自动填充缺失值 – 自动侦测及处理异常值或极值 **
**(3) 数据处理 –— 完整的记录和字段操作,包括: **
■ 字段过滤、命名、导出、分段、重新分类、值填充以及字段重排;
■ 对记录进行选择、抽样(包括簇与分层抽样)、合并(内连接、完全外连接、部分外连接以及反连接)和追求;排序、聚合和平衡;
■ 数据重新结构化,包括转置;
■ 分段节点能够根据预测值对数字值进行最优分段;
■ 使用新的字符串函数:字符串创建、取子字符串、替换、查询和匹配、空格移除以及截断;
■ 使用时间区间节点为时间序列分析做准备; –— 将数据拆分成训练、测试和验证集。 –— 对多个变量自动进行数据转换。
■ 可视化的标准数据转换 –—数据转换在Clementine中直接使用SPSS数据管理和转换功能;
■RFM评分:对客户交易进行汇总,生成与最近交易日期、交易频度以及交 易金额相关的评分,并对这些评分进行组合,从而完成完整的RFM分析过程。
4. 建 模
建模过程也是数据挖掘中一个比较重要的过程。需要根据分析目的选出适合的模型工具,通过样本建立模型并对模型进行评估。 Clementine提供了非常广泛的数据挖掘算法以及更多高级功能,从而帮助企业从数据中得到尽可能最优的结果。
■ 提供交互式建模、方程式浏览器及专业统计输出;
■ 图形化显示不同变量对预测目标影响的重要程度;
■ 用元建模合并模型 – 合并多个模型或者将一个模型的预测应用于建立另外一个模型; – 模型合并节点能够自动整合预测值从而优化预测结果的准确性及稳定性;
■ 用PMML导入其它工具生成的模型,例如AnswerTree和SPSSforWindows
■ 使用Clementine扩展性架构客户化算法。 Clementine提供的数据挖掘算法包括:
■C&RT、CHAID&QUEST—决策树算法包括交互式决策树创建;
■ 决策列表—交互式业务规则创建算法能够让分析人员把业务知识集成在预测模型中
■C5.0决策树及规则集算法
■ 神经网络—向后传播的多层感知器以及径向基函数
■ 支持向量机—为宽表提供更准确的分析结果
■ 贝叶斯网络—可视化的概率模型
■ 二元及多元回归
■ 自学习响应模型—增量学习的贝因斯模型
■ 线性回归—最佳拟和线性方程式模型
■ 广义线性模型(GLM)
■Cox回归—分析某类事件的发展趋势
■ 时间序列—自动生成时间序列预测模型
■K-means—聚类
■Kohonen—神经元网络聚类算法
■ 两步聚类—自动选择合适的聚类数
■ 异常侦测—基于聚类算法侦测那些异常记录
■ 两步聚类—自动选择合适的聚类数
■ 主成分/因子分析—通过主成分/因子分析对数据降维 ■GRI—规则归纳相关性探索算法
■Apriori—提供高级评估功能的演绎关联算法
■CARMA—提供多后项的关联算法
■ 时序分析—针对顺序相关性分析的时序关联算法
■ 二元分类器和数值型预测器—自动化创建及评估多个模型。
5. 评 估
并不是每一次建模都能与我们的目的吻合,评价阶段旨在对建模结果进行评估,对效果较差的结果我们需要分析原因,有时还需要返回前面的步骤对挖掘过 程重新定义。通过Clementine可以做到:
■ 使用提升、收益、利润和响应图表可以方便地评估模型 – 使用一步到位的流程评估多个模型,缩短项目用时; – 定义命中和得分条件来评估模型的性能。
■ 使用一致性矩阵以及其它自动评估工具分析模型的总体精度
■ 使用倾向性评分来简化部署及多模型比较
6.发布
该阶段是用建立的模型去解决实际中遇到的问题,它还包括了监督、维持、产生最终报表、重新评估模型等过程。Clementine提供多种部署方式从而满足企业不同的需要。
■ClementineSolutionPublisher(可选*) – 自动导出所有操作,包括数据访问、数据处理、文本挖掘、模型评分(包括模型组合)以及后加工过程; – 使用runtime在给定的平台上执行图像文件。 ■ 将生成的模型导出为SQL或PMML(针对预测模型的标准XML文件)
■ 自动把Clementine数据流导入到SPSS企业级预测服务器中 – 合并导出的Clementine数据流以及隐含业务规则的预测模型,从而优化企业运营过程。
■Cleo(可选*)
– 基于网页的快速模型部署;
– 通过可定制的浏览器界面,允许多个用户同时访问并立即评估单个记录、多个记录甚至整个数据库。
■Clementine批处理 – 在用户界面之外自动进行工作,使用Clementine批处理模式您可以:
■ 从其它应用或者调度系统中自动启动Clementine流程
■ 生成编码密码
■ 使用命令行执行Clementine的数据挖掘过程
■ 脚本 – 自动执行命令行脚本或者与Clementine流程相关的脚本,以自动执行用户界面重复工作。脚本通常执行与鼠标和键盘同样的工作。
■ 使用工具栏中的图标执行Clementine流中选定的行、超级节点或者独立的脚本。
■ 用单独的脚本更新流参数
■ 将生成的模型导出为PMML2.1 – 对数据库内对数据进行评分,减少在客户端代价昂贵的数据转移和计算工作;
– 将ClementinePMML模型部署到IBMDB2IntelligentMiner™ 可视化和 IntelligentMiner打分中。
■ 使用数据库的大批量输入程序 – 在数据导出时,使用为每个特定数据库定制的大批量输入程序。您可以调 整各种选项,包括为使用ODBC的载入进程确定行或列的约束条件,以及为数据库中执行的批处理调整其规模
四、数据挖掘主要模式
1.分类(Classification)
选出分好类的训练集,在训练集上运用数据挖掘分类的技术建立分类模型,对于没有分类的数据进行分类。例子:
(1)信用卡申请者,分类位低、中、高风险
(2)故障检测:中国宝钢集团与上海天津信息技术有限公司合作,采用数据挖掘技术对钢材生产的全过程进行质量监控和分析,构建故障地图,实时分析产品出现瑕疵的原因,有效提高产品的优良率(注意:类的个数是确定的,预先定义好的)
2.估计
估计与分类类似,不同之处在于,分类描述的是离散型变量的输出,而估值处理连续值的输出;分类的类别是确定数目的,估值的量是不确定的。例子:
(1)根据购买模式,估计一个家庭的孩子个数;
(2)根据购买模式,估计一个家庭的收入;
(3)估计realestate的价值;
一般来说,估值可以作为分类的前一步工作。给定一些输入数据,通过估值,得到未知的连续变量的值,然后,根据预先设定的阈值,进行分类。例如:银行 对家庭贷款业务,运用估值,给各个客户记分(Score0~1)。然后,根据阈值,将贷款级别分类。
3.预测(Prediction)
通常,预测是通过分类或估值起作用的,也就是说,通过分类或估值得出模型,该模型用于对未知变量的预言。从这种意义上说,预言其实没有必要分为一个单独的类。预言其目的是对未来未知变量的预测,这种预测是需要时间来验证的,即必须经过一定时间后,才知道预言准确性是多少。 · 相关性分组或关联规(Affinitygroupingorassociationrules)
决定哪些事情将一起发生。 例子:
(1)超市中客户在购买A的同时,经常会购买B,即A=>B(关联规则)
(2)客户在购买A后,隔一段时间,会购买B (序列分析)
4.聚类(Clustering)
聚类是对记录分组,把相似的记录在一个聚集里。聚类和分类的区别是聚集不依赖于预先定义好的类,不需要训练集。 例子:
(1)一些特定症状的聚集可能预示了一个特定的疾病
(2)租VCD类型不相似的客户聚集,可能暗示成员属于不同的亚文化群聚集通常作为数据挖掘的第一步。例如, "哪一种类的促销对客户响应最好? ",对于这一 类问题,首先对整个客户做聚集,将客户分组在各自的聚集里,然后对每个不同的聚集,回答问题,可能效果更好。
5.描述和可视化(DescriptionandVisualization)
对数据挖掘结果呈现的操作。