使用Flow Solution工具简化数据挖掘建模过程

本系列文章将通过一个虚拟">电信公司的例子,介绍如何使用 InfoSphere Warehouse V10.5(下文简称 ISW Kepler)中的数据预处理工具(Data Preparation)和流解决方案(Flow Solution)解决上述问题。 本文为使用 Data Preparation 和 Flow Solution 工具简化数据挖掘过程系列文章的第二篇,主要介绍如何使用流解决方案简化并实现数据挖掘的建模过程。

在本系列文章的第一篇中我们介绍到,数据的预处理和数据挖掘模型的建立是数据挖掘六大过程中的重要环节,而这两个环节由于其复杂性以及对数据挖掘分析员的高要求,成为数据挖掘项目中最为耗时的两个阶段。

建立数据挖掘模型的过程,要求数据挖掘分析员除了对业务问题有深刻的理解,还需要具备多种技能,如相关数据挖掘工具的使用、SQL 语言和代码编写等。

当前业界有各种优秀图形化的工具帮助构建数据挖掘模型, 如 InfoSphere Warehouse 的 Design Studio 设计器。在设计器中,可以通过将一系列操作符按照合理的方式组合成挖掘流(Mining Flow),执行挖掘流即可得到我们所需的挖掘模型。

虽然挖掘流的使用让我们从自行编写代码生成挖掘模型的复杂工作中解放出来,但是我们依然面临几个问题:

如何选择
合适的挖掘方式、合适的挖掘算法去解决一个商业问题; 如何合理使用和安排用于解决商业问题的挖掘操作符并正确配置。要正确设置挖掘操作符并不简单,当解决一个问题需要设计复杂的挖掘流时,即使是有经验的数据挖掘分析员也需要花费较长的时间

为了解决上述的问题,ISW V10.5 提供了流解决方案(Flow Solution)工具。流解决方案提供了针对特定业务问题的一系列模版和向导,通过回答各种问题,最终根据我们的设置得到解决该问题的一个有效的、完整的、可执行的流。目前流解决方案可用于生成挖掘流和数据流。

流解决方案的使用可以大幅度减少用于解决业务问题的时间和精力。通过使用流解决方案,即使是对挖掘操作符没有使用经验的数据挖掘分析员,也可以轻松设计挖掘流来解决业务问题;而有经验的数据挖掘分析员,则可更快速的创建挖掘模型。

案例简介及环境准备

在接下来的章节中,我们将继续通过虚拟的电信公司的例子介绍如何使用 ISW 10.5 提供的流解决方案工具实现数据挖掘的建模过程,通过对历史离网用户的分析,发现有离网倾向的用户,从而采取措施挽留有价值的用户。

请参照本系列文章的第一篇《使用 Data Preparation 工具简化数据挖掘预处理过程》一文中的案例简介及环境准备一节安装和配置环境。

使用 Flow Solution 构建挖掘流

建模前的分析

电信客户的流失可分为两大类:自愿流失和非自愿流失。前者是指客户由于各种因素自行中断合约,后者是指由于客户的信用问题等原因而由电信公司中止服务。我们分析的对象主要是自愿流失的客户。

要分析客户的行为,并预测将会流失的客户,我们需要创建一个预测模型。

用户的个人信息如年龄、性别、职业,以及用户合同信息如使用的资费套餐、在网时长、目前的状态,还有用户历史使用状况,这些都是我们需要分析的。而这些数据我们可以从每个用户各月的通话情况汇总(DW_USER_COLLECT)中获得。

在创建流解决方案前,我们还需要考虑以下几个方面:

是否使用可视化器显示最终的挖掘模型 是否抽取模型中的信息并存储到表中 是否对模型进行应用评分,以及是否对评分结果进行进一步的分析 如果要构建的是预测模型,是否检测生成的预测模型的质量

创建流解决方案

根据上述的分析,我们要通过流解决方案建立预测模型,而且希望能直观的看到挖掘结果,测试挖掘模型的质量,并使用模型信息做进一步的分析、应用。

具体步骤为:

新建流解决方案 CHURN_PREDICT_FW 在数据项目资源管理器中,展开项目到“流解决方案”,右键点击并选择“新建 -> 流解决方案” 在“新建流解决方案”向导中,选择当前工程并指定输入模型名 CHURN_PREDICT_FW,点击 [ 完成 ] 打开相应的流解决方案向导 选择解决方案计划 解决方案计划定义了解决某一问题所需要的步骤及信息。为了使解决方案有针对性,我们还需要选定该解决方案所属的问题的领域及问题的类型。目前,流解决方案提供了 表 1 中的问题域: 由于我们要创建关联规则模型,因此选择“高级分析解决方案”作为问题域,选择“预测”作为问题,选择“常规预测”作为解决方案计划。点击 [ 下一步 ]。 在“选择连接”中,为我们要创建的挖掘流指定数据源,该数据源存储了挖掘所需要的源表。我们的示例所使用的数据库是“TELE”。 选择源表 在这个阶段,我们要指定用于分析的数据所在的表或视图。 根据分析,我们需要从每个用户各月的通话情况汇总(DW_USER_COLLECT)着手。而且为了得到更精确的分析,我们将对所有交易数据进行分析。如果使用源表数据量很大,可以通过指定“采样率”控制数据量。 在列表中选中表 TELE.DW_USER_COLLECT,并点击 [ 选择源表 ] 加到“选择的源表”中,保持采样率为 100%。 决策步骤 决策步骤中包含了多个问题,用于确定解决方案编辑器最终生成的流的结构。我们对这些问题的回答,决定了挖掘流或数据流的复杂性。对于不同的解决方案计划,决策步骤并不相同。 决策:对列和行进行过滤 我们要选取 2006 年 1 月到 4 月用户数据进行分析。因此选择从源表中过滤掉不必要的行。在“选择行”中,点击 [ 添加条件 ] 并在“SQL 构建器”中指定如 表 2 的过滤条件,并选择结果表包含至少符合其中一个条件的行 决策:对挖掘模型进行后处理 根据我们的期望,选择显示挖掘模型、从模型中抽取树规则、测试预测模型、将为每个记录预测的目标值存储到一个表中(评分)。 决策:分割数据以便进行测试和训练 为了测试预测模型,需要将源表中数据分为两部分:一部分用于测试模型的质量,一部分用于模型的构建。我们可以选择通过指定一个百分比值来控制数据的分布,也可以自行定义数据分割条件。 在这里,我们选择随机分割输入数据,并设定测试数据和训练数据的比例为 30:70。 决策:选择用于预测的活动列 并非源表中所
有的列我们都希望用于模型的构建。在选择活动列一页中,我们可以指定要用于构建模型的列。我们也可以将这个任务交给挖掘模型算法,由算法决定哪些列用于模型的计算。 在这,我们选择自己定义哪些列用于预测过程,并在“选择用于预测的活动列”一页中取消列 MONTH,USER_ID,SVC_NUM 的选中,然后进入下一步 预测器配置 在预测器配置中,我们需要指定用于预测的目标字段和算法。系统会根据目标字段选择推荐的算法,我们可以依据需要在算法列表中选择我们想要使用的算法。 我们要预测的是客户是否离网,因此我们选择表示客户状态的标识符字段 IS_LOGOUT,并采用系统推荐的算法 – 树规则。 抽取树规则 决策:对树规则进行过滤 我们可以对树规则的抽取结果进行过滤,设定条件只保存满足条件的部分结果。例如,选择只保存可信度(CONFIDENCE)处于某个区间的规则。 我们希望保存所有的树规则,因此取消对树规则进行过滤一项的选中。进入下一步 树规则:选择列 同样,抽取结果中并非所有的信息都是我们需要的,对于不需要的列我们可以取消他们的选中。 保存树规则 点击 [ 创建表 ],并指定新建表的模式和名字,如 TELE.CHURN_TREERULES,确定后系统就会根据“树规则:选择列”中选择的列生成指定的表。在树规则目标表列表中选中表 TELE.CHURN_TREERULES,并选中“删除目标表的先前内容”,点击 [ 下一步 ] 测试预测模型 测试预测模型是指将模型应用于包含模型预测目标的新数据,并将预测的目标值与实际目标值进行比较,根据比较结果,度量该模型的质量和效益。 测试器配置 测试器配置用于指定测试数据列与预测模型字段之间的映射关系。 由于我们采用了随机分割方式分割源数据,因此测试数据列与预测模型字段完全匹配,系统已自动将所有匹配的字段映射起来。直接进入下一步 决策:对测试结果进行后处理 我们可以将对模型的测试结果显示在可视化器中,也可以抽取结果并保存到表中。 使用可视化器可以更直接地查看结果,选择“在可视化器中显示测试结果” 预测模型评分 评分是指将挖掘模型应用于新数据记录以确定每个记录适合于模型的程度的过程。 决策:对原始数据还是新数据进行评分 决定使用哪些数据进行评分,以及是否在评分前对数据进行过滤。 我们选取了源表中 1 月到 4 月的数据用于模型的建立,现在我们要使用源表中 5 月和 6 月的数据应用于模型。选择“对另一个表中的数据进行评分”,并在“选择新的评分表”一页中选中表 TELE.DW_USER_COLLECT 决策:对评分表的列和行进行过滤 我们要选取 5 月和 6 月的数据,所以选择过滤不必要的行,并在“选择评分表的行”一页中添加如 表 3 的过滤条件,且选择结果表包含至少符合其中一个条件的行 评分器配置 评分器配置用于指定输入列与预测模型字段之间的映射关系。评分器已经自动设置了列名与模型字段之间的初始映射,我们可以根据需要做出适当的调整。 当前的配置完全符合我们的需求,直接进入下一步 决策:对评分结果的列和记录进行过滤 我们只对可信度大于 0.3 的记录感兴趣,选择“从评分结果中过滤出某些记录”,然后在“选择评分结果记录”一页中添加如 表 4 的过滤条件,并选择结果表包含至少符合其中一个条件的行 评分结果:选择列 选择要存储到表中的列。对于在评分结果中不需要显示的列,取消他们的选中状态。 直接进入下一步,因为我们希望所有列都存储到结果表中。 保存评分结果 点击 [ 创建表 ],并指定新建表的模式和名字,如 TELE.CHURN_SCORE 确定后系统就会根据“评分结果:选择列”中选择的列生成指定的表。在评分记录目标表列表中选中表 TELE.CHURN_SCORE,并选中“删除目标表的先前内容”,点击 [ 下一步 ] 流解决方案摘要 摘要中列出了前面步骤中的重要元素,包括问题域、问题类型、解决方案计划、用于建模源表、用于评分的源表、建模的参数设置等。 指定目标挖掘流的名称为 MF_CHURN_PREDICT,选择“覆盖现有的流”并点击 [ 创建流 ] 生成挖掘流

生成的挖掘流如图 1。执行该挖掘流,即可生成离网预测模型并得到该模型的测试质量以及新数据的评分结果。

表 1. 流解决方案问题域

问题域 描述 高级分析解决方案 用于创建挖掘流以发现数据间的关系。包括常规的关联规则、集群、预测分析等 行业解决方案 为特定行业业务问题创建流程。当前能用于解决客户细分问题 仓库变换 创建数据流以数据变换。支持的变换包括表连接、去除重复项、数据过滤并导出到表、将表中数据复制到文件

决策过滤条件

MONTH = '200601' OR MONTH = '200602' OR MONTH = '200603' OR MONTH = '200604'

评分表过滤条件

MONTH = '200605' OR MONTH = '200606'

评分结果过滤条件

CLASS_CONFIDENCE > 0.3

图 1. 挖掘流 MF_CHURN_PREDICT

总结

本文主要介绍了如何通过 ISW 10.5 的建模向导 Flow Solution 创建数据挖掘模型。

时间: 2024-10-29 04:46:14

使用Flow Solution工具简化数据挖掘建模过程的相关文章

《数据挖掘:实用案例分析》——3.2 数据挖掘建模过程

3.2 数据挖掘建模过程 广州TipDM团队在多年的数据挖掘项目实施过程中,积累了一套行之有效的数据挖掘方法论,数据挖掘建模过程如图3-2所示. 3.2.1 定义挖掘目标 针对具体的数据挖掘应用需求,首先要非常清楚:本次的挖掘目标是什么?系统完成后能达到什么样的效果?因此我们必须分析应用领域,包括应用中的各种知识和应用目标.了解相关领域的有关情况,熟悉背景知识,弄清用户需求.要想充分发挥数据挖掘的价值,必须要对目标有一个清晰明确的定义,即决定到底想干什么.否则,很难得到正确的结果. 3.2.2

《Hadoop大数据分析与挖掘实战》——1.4节数据挖掘建模过程

1.4 数据挖掘建模过程从本节开始,将以餐饮行业的数据挖掘应用为例来详细介绍数据挖掘的建模过程,如图1-1所示. 1.4.1 定义挖掘目标针对具体的数据挖掘应用需求,首先要明确本次的挖掘目标是什么?系统完成后能达到什么样的效果?因此必须分析应用领域,包括应用中的各种知识和应用目标,了解相关领域的有关情况,熟悉背景知识,弄清用户需求.要想充分发挥数据挖掘的价值,必须要对目标有一个清晰明确的定义,即决定到底想干什么. 针对餐饮行业的数据挖掘应用,可定义如下挖掘目标:实现动态菜品智能推荐,帮助顾客快速

《R语言数据分析与挖掘实战》——1.4 数据挖掘建模过程

1.4 数据挖掘建模过程 从本节开始,将以餐饮行业的数据挖掘应用为例来详细介绍数据挖掘的建模过程,如图1-1所示. 1.4.1 定义挖掘目标 针对具体的数据挖掘应用需求,首先要明确本次的挖掘目标是什么?系统完成后能达到什么样的效果?因此我们必须分析应用领域,包括应用中的各种知识和应用目标,了解相关领域的有关情况,熟悉背景知识,弄清用户需求.要想充分发挥数据挖掘的价值,必须要对目标有一个清晰明确的定义,即决定到底想干什么. 针对餐饮行业的数据挖掘应用,可定义如下挖掘目标: 实现动态菜品智能推荐,帮

《数据挖掘:实用案例分析》——第3章 数据挖掘建模 3.1 数据挖掘的过程

第3章 数据挖掘建模 数据挖掘是从海量数据中提取隐含在其中的有用信息和知识的过程.各运营支撑系统所积累的海量历史数据是企业的一笔宝贵财富,谁能正确地挖掘与分析隐含在数据中的信息,谁就能更好地向用户提供产品与服务,从而在竞争中脱颖而出. 3.1 数据挖掘的过程 数据挖掘提供了从数据到价值的解决方案: 数据+工具+方法+目标+行动=价值 目前,数据挖掘已有一系列应用:分类分析.聚类分析.预测分析.偏差分析.关联分析和时序模式等,这些应用涉及的技术和工具各不相同,然而却可以依据统一的方法论来实行,并可

应用Rational工具简化基于J2EE项目(五)架构与设计

j2ee|架构|设计|项目 第 5 部分 :架构与设计 Steven Franklin软件设计师和过程专家2004 年 4 月 当这个正在进行的应用 RUP 和其他的 Rational 工具的 J2EE 样例项目从用例转换成架构和设计时(包括数据建模和构建测试设计假想的原型),这个项目已经进入了更加技术的阶段了. 这个系列的第 5 部分首先检查了一下项目的时间进度,然后当我们进入了架构.设计.数据建模和创建原型时,我们已经在下一个阶段进行细化阶段中了. 第 5 部分快照 在第 5 部分演示的工具

教你使用数据库建模工具进行数据库建模

很多人在进行数据库设计的时候,还是喜欢使用word文档的格式设计好数据库结构以后,再进行物理数据库的创建:而真正使用数据库建模工具进行数据库设计的就很少了:如果你讯问那些不愿意使用数据库建模工具的人为什么的话,我想他们一般会给你下面几个答案: 1.数据库结构不复杂,没必要使用建模工具. 2.建模工具使用起来比较麻烦,不现实. 3.我们公司有专门的数据库文档格式,恐怕建模工具没法生成合适的文档. 对于以上答案,我认为都不成立,是因为对建模工具的误解造成的. 以powerdesign为例,对于上述答

《游戏大师Chris Crawford谈互动叙事》一6.3 作为比喻的建模过程

6.3 作为比喻的建模过程 游戏大师Chris Crawford谈互动叙事古希腊诗人荷马1作品中的"如手指般泛玫瑰红色的曙光(rosy-fingered dawn)"2的描绘是最古老的的比喻手法运用之一.他把日出之前的曙光与手指的颜色做了个比拟,赋予自然现象以生动之气,从而让作品具备了丰富的表现力.创造比喻是诗人之所长,也是大部分艺术家必备的技能. 从根本上来说,数学建模也具有比喻特质.互动叙事艺术创作的核心不是图像,不是声音.不是对话,甚至也不是情节发展,而是数学建模.在互动叙事产品

AutoCAD绘制冷兵器之剑的建模过程

本人也算是CAD初学者.由于本人没有上过高中,论坛内好多求解的几何题目 做起来有难度,所以决定向建模方面发展.在学习的过程中遇到问题不少,感谢 论坛内各位老师热情解答.现放出一CAD建模过程 希望能对各位有所帮助. 先看看效果图: 效果图 第一步.绘制一5×1.2 的长方形.并用 绘图> 面域 命令 转换为面 图1 第2步. 运行 绘图>实体>拉伸 命令,将面拉伸高度180 角度0 下图为转换西南等轴视角 后结果 图2 第3步,绘制 如图品红面域,弧度等于25° 图3

quickbuild-持续集成该选择什么工具?环境搭建过程?后续的集成过程?

问题描述 持续集成该选择什么工具?环境搭建过程?后续的集成过程? 首先,我是个小白,对持续集成的理解仅限于网上的一些资料.上述问题可能有点大,不过有知道一些的都欢迎来解答,谢谢~~对于持续集成,我目前的理解是:使用自动化集成工具来对项目进行管理.测试,把一些频繁的操作交给工具来完成,减少程序猿的工作,如每日更新代码的checkout.项目部署.一些测试等等(其实我对持续集成工具能完成什么工作不是很了解),有甚么理解错误的地方还望指出~ 1.然后,现阶段就是想从目前的额一些持续集成工具选择一个,如