IBM SPSS Collaboration and Deployment Service 是可以实现预测分析的大规模使用和部署的企业级应用程序,其通过使用 Modeler 的大部分内核组件来实现预测分析的功能。本文将从微观出发,着重介绍 Modeler 的 Deployment options 功能在 IBM SPSS Collaboration and Deployment Service 产品中的场景应用 , 以点带面,以此体现出 Modeler 在企业级产品 IBM SPSS Collaboration and Deployment Service 中去实现预测分析的能力。本文的讲解介绍将基于 Modeler14.2 版本。
相关 IBM SPSS Modeler 及 IBM SPSS Collaboration and Deployment Service 产品介绍
简称 Modeler,它包括一组数据挖掘工具。通过这些工具可以采用商业技术快速建立预测性模型,并将其应用于商业活动,从而改进决策过程。SPSS Modeler 参照行业标准 CRISP-DM 模型设计而成,可支持从数据到更优商业成果的整个数据挖掘过程。
简称 Modeler Server,其与一个或多个 IBM? SPSS? Modeler 安装程序一起在分布式分析模式下不间断运行,这种运行方式大大提高了对大数据集的处理速度,因为在服务器上可以完成内存集约型操作,且无需将数据下载至客户端计算机。
IBM SPSS Collaboration and Deployment Service
简称 C&DS,IBM SPSS 产品部署、服务集成总线,在企业环境管理预测分析相关资产,自动化预测分析过程,分享预测结果。
IBM SPSS Collaboration and Deployment Service Deploy Manager
IBM SPSS Collaboration and Deployment Service 管理客户端,简称 PEM,其基于 Eclipse RCP 架构提供富客户端管理界面,统一管理 IBM SPSS Collaboration and Deployment Service Server、用户 / 权限系统、Content Repository、企业 Resource,创建和运行 Automation Job 等。
IBM SPSS Collaboration and Deployment Service Deployment Portal
IBM SPSS Collaboration and Deployment Service Web 客户端,简称 PEB,提供用户通过浏览器访问 IBM SPSS Collaboration and Deployment Service 的能力,用户通过 Deployment Portal 可以访问 Content Repository,获取 Automation Job 运行结果,访问 Model Management 运行结果等。
IBM SPSS Modeler 与 IBM SPSS Collaboration and Deployment Service 交互方式介绍
我们知道,Modeler 本身属于工具型产品,不依赖于额外任何服务就可以直接运行;而 IBM SPSS Collaboration and Deployment Service 属于服务型产品,必须运行 IBM SPSS Collaboration and Deployment Service 的 Service 才能正常运行。让我们来看他们的交互方式,目前 Modeler 与 IBM SPSS Collaboration and Deployment Service 有两种交互方式:
- 首先用户可以通过 Modeler 创建一个 Stream 文件,然后将 Stream 文件保存到硬盘上。其次用户可以在 IBM SPSS Collaboration and Deployment Service Deploy Manager 中通过添加文件的方式将 Stream 文件导入到 IBM SPSS Collaboration and Deployment Service 产品中,具体的执行方式可以见下图:
图 1. Modeler 与 IBM SPSS Collaboration and Deployment Service 间接交互示意图
- 这种交互方式中, IBM SPSS Modeler 与 IBM SPSS Collaboration and Deployment Service 的唯一关联就是 Stream 文件,用户需要通过操作 IBM SPSS Collaboration and Deployment Service Deploy Manager 进行文件的存储。用户可以通过 IBM SPSS Modeler 先创建一个 Stream 文件,然后通过 Repository Client 将 Stream 文件存储到 BM SPSS Collaboration and Deployment Service 中。其中存储方式可以选择直接“Store”存储或者选择“Deployment”的方式,将 Stream 文件部署到 BM SPSS Collaboration and Deployment Service 中。如果要对 Stream 文件进行 Evaluation,Refresh,或者 Score 操作的话,就必须以 Deployment 的方式部署。Scenario 是 Stream 在 BM SPSS Collaboration and Deployment Service 中应用的一种类型,其本质上就是一个 Stream, 只是和传统的 Stream 相比 , Scenario 做出了如下限制 :
- Scenario 中只能包含一个 Score 分支 ;
- Scenario 的 Score 分支的 SourceNode 只能是 EVNode 并且只能有一个 EVNode。
图 2. Modeler 与 IBM SPSS Collaboration and Deployment Service 直接交互示意图
这种交互方式,IBM SPSS Modeler 需要先登录到 IBM SPSS Collaboration and Deployment Service 的 Repository 上,然后通过 Repository Client 选择将 Stream 文件存储或者部署。我们将在后面的章节详细介绍这些过程。
在介绍 Deployment Options 之前,大家需要先了解一个概念 —— CRISP-DM,即跨行业数据挖掘标准流程,这是一种业界认可的用于指导数据挖掘工作的方法。作为一种方法,它包含工程中各个典型阶段的说明、每个阶段所包含的任务以及这些任务之间的关系的说明;作为一种流程模型,CRISP-DM 概述了数据挖掘的生命周期。图 3 展示了 CRISP-DM 中定义的数据挖掘生命周期中的六个阶段。
- 商业理解:了解进行数据挖掘的业务原因和数据挖掘的目标
- 数据理解:深入了解可用于挖掘的数据
- 数据准备:对待挖掘数据进行合并,汇总,排序,样本选取等操作
- 建立模型:根据前期准备的数据选取合适的模型
- 模型评估:使用在商业理解阶段设立的业务成功标准对模型进行评估
- 结果部署:使用挖掘后的结果提升业务的过程
图 3. CRISP-DM 模型图
Deployment Options 用来指定 IBM SPSS Modeler 的输出部署到 IBM SPSS Collaboration and Deployment Service 中后,以何种方式运行,可选的方式包括 Evaluation,Refresh 和 Score。该功能目前只支持 Scenario,不支持 Stream。
指模型的评估。该过程对应于 CRISP-DM 模型的评估阶段,其主要的目的是对前面阶段中所生成的模型进行评估,以保证模型的正确性。通常的做法是选取一批历史数据,应用构建的模型对该历史数据进行预测,将预测的结果与实际的数据进行比较,通过置信度,准确度,以及收益率等指标来确定模型的正确性。当用户选择按照这种方式运行 Scenario 时,IBM SPSS Collaboration and Deployment Service 会以 Tab,Xml,Html 和 JPG 等文件形式保存模型校验后的输出结果。
指模型的训练。该过程发生在结果部署阶段,当模型部署到用户的信息系统中后,随着用户业务数据的不断变化,模型的正确性可能会减低,此时需要对模型进行修正。用户可以定期的使用最新的历史数据,去重新执行模型,并根据 Evaluation 的结果,对模型中的参数进行调整,使之匹配于当前的数据。这个过程称为 Refresh。当用户选择按照这种方式运行 Scenario 时,IBM SPSS Collaboration and Deployment Service 会生成一个新的 Scenario 文件,该文件包含了修正以后的模型。
指使用模型进行数据的预测。该过程发生在结果部署阶段。用户使用部署的模型对业务数据进行预测的过程称为 Score,预测的结果可以有两种形式,一种是正式的集成,例如根据模型对随后从数据仓库中读入的客户信息的流失情况进行预测;另一种是使用从数据挖掘中获得的深入见解来帮助决策,例如通过数据挖掘发现现有系统中年龄超过 30 岁的客户行为会发生改变。这些结果可能不会正式集成到用户的信息系统中,但它们无疑对于计划和制定营销决策非常有用。当用户选择按照这种方式运行时,IBM SPSS Collaboration and Deployment Service 会将 Score 的结果输出到指定的文件,需要指出的是,IBM SPSS Collaboration and Deployment Service 目前的版本不支持用户指定 Score 的输出文件,该输出文件需要在 Scenario 文件里面以 Export 节点或 Output 节点的方式预先指定。
这是 IBM SPSS Collaboration and Deployment Service 中提出的一个概念。在 Modeler 中提供了多种业界常用的模型,用户在使用时模型的选择非常重要。在实际应用中,用户需要根据自己的数据特点 , 综合考虑自己的业务需求,从而选择一个合适的模型,这往往需要具备专业的数理统计分析的背景知识。
在引入 Champion Challenger 以后,用户可以使用 IBM SPSS Modeler 中提供的各种模型分别进行建模,在模型构建成功后,使用 Champion Challenger 针对这一批模型使用同样的输入数据进行 Evaluation,并且根据 Evaluation 的结果选择一个最合适的模型,从而简化了用户的建模过程。
本质上来说,Champion Challenger 是通过对 Scenario 进行 Evaluation 并比较结果从而得出最优的模型,可以说 Champion Challenger 是对 Deployment options 的一种扩展应用,所以在此我们对这个概念做了一个简单介绍。
Stream 在 IBM SPSS Modeler 中应用的简单介绍
使用 IBM SPSS Modeler 进行的数据挖掘的过程就是通过一系列节点的运行,对数据进行处理的过程,这一系列节点代表要对数据执行的操作,而节点之间的链接指示数据流的方向。这一系列的节点,加上它们的连接关系,以及其他一些信息,比如各种参数设定,Script 脚本等,就构成了一个 Stream 文件。利用 IBM SPSS Modeler 的可视化环境我们可以非常方便的创建,编辑和运行一个 Stream。Stream 文件可以保存后缀为 .str 类型的文件,同时我们也可以将一个 Stream 直接存储到 IBM SPSS Collaboration and Deployment Service 的 Repository Server 上。
一个可以生成模型的 Stream,至少需要一个数据源节点和一个建模节点。下面我们就以 Var.File 数据源节点和 C&R Tree 模型节点为例来演示怎样生成一个模型,并利用这个模型来进行预测分析。
首先我们拖拽一个 Var.File 节点到 Modeler Client 的主编辑区域,双击 Var.File 节点后在文件路径数据框中输入“$CLEO_DEMOS/drug1n”,以选取 IBM SPSS Modeler 自带的 Demo 数据 drug1n。
图 4. Var.File 数据源节点文件页面编辑窗口
然后选择类型(Types) 页面,并单击读取值按钮(Read Values):
图 5. Var.File 数据源节点类型页面编辑窗口
将 Drug 选为目标 (Target):
图 6. 将某个 Filed 的角色设置为目标
然后我们拖拽一个 C&R Tree 模型节点,并将 Var.File 节点连向 C&R Tree 节点。
图 7. 数据源节点连接到模型节点
运行后,我们就可以得到一个模型(Nugget)。
图 8. 含有模型的 Stream 文件
在 IBM SPSS Modeler 中,我们可以直接拖曳已经生成的模型 (Nugget) 到另外一个 Stream 文件中,下面我们利用生成的模型来构建一个新的 Stream 进行预测分析。 拖曳一个新的数据源节点,使之指向模型,从模型连接至一个 Table 输出节点:
图 9. 利用模型来预测分析
这个 Stream 的数据源里并不包含 Drug 列,我们可以通过模型来预测生成 Drug 列。
图 10. 含有模型的新 Stream 文件
运行后,我们得到如下的结果。
图 11. 由模型得到的预测数据
Stream 在 IBM SPSS Collaboration and Deployment Service 中部署及应用的简单介绍
上文介绍了如何在 Modeler Client 中生成一个 Stream 文件,现在我们看一下怎样将这个可以进行预测分析的 Stream 部署到 IBM SPSS Collaboration and Deployment Service 中,并运行它。
上首先我们需要在 Modeler Client 中连接到 IBM SPSS Collaboration and Deployment Service 的 Repository Server,点击主菜单中 Tools 项,选择 Repository, 然后选择 Options 子菜单,如下图:
图 12. Repository 菜单
接下来在弹出的对话框中输入 Server 的 IP、端口、,用户名和密码,就可以连接了。 然后我们在 Stream 浏览框里右键单击刚才创建的这个 Stream,并选择 Deploy …。
在 Stream 的 Deployment 对话框中我们可以看到,Deployment type 有两个选项,一个是 Model Refresh 一个是 Scoring Only。以 Model Refresh 部署的 Scenario,可以做 Score,Refresh 和 Evaluation;以 Scoring Only 部署的 Scenario,只可以做 Score。这里我们以 refresh 为例,在选择 Model Refresh 后,我们还要指定 Modeling node 和 Model nugget。在配置项的最后一行,我们可以看到有两个单选框,一个是 Deploy as stream,另一个是 Deploy as scenario。目前,如果我们选择 Deploy as stream,在 PES 里只能简单的运行 Stream,而选择 Deploy as scenario,在 IBM SPSS Collaboration and Deployment Service 里我们就可以使用功能强大的 Deployment options。
图 13. 部署文件至 IBM SPSS Collaboration and Deployment Service 的配置窗口
Stream 在 IBM SPSS Collaboration and Deployment Service 中的运行
在上一小节中,我们部署一个 Stream 时,选择了 Deploy as stream。将一个 Stream 部署到 IBM SPSS Collaboration and Deployment Service 的 Repository server 中。下面我们来看这个 Stream 在 IBM SPSS Collaboration and Deployment Service 中如何运行。
登录 Deployment Manager 后,我们需要先创建一个 Job,并将 Stream 拖入到 Job 的编辑界面上。在为这个 Stream 配置相应的 IBM SPSS Modeler Server 信息,数据源文件路径信息等等后,我们就可以运行这个 Stream 了。
图 14. 在 IBM SPSS Collaboration and Deployment Service Deploy Manager 中配置 Job
这里,我们只能简单的运行一个 Stream,和在 IBM SPSS Modeler 中运行一个 Stream 没有什么本质区别,唯一的区别在于 IBM SPSS Collaboration and Deployment Service 可以帮助我们进行管理和配置。运行结果我们可以在 Deployment Manager 的 Job History 里查看:
图 15. Job History 窗口示例
通过 Job History 我们看到这个 Job 已经成功运行了,得到的结果在 /demo/Table.tab。我们通过 PEB 来查看一下运行结果:
图 16. 通过 Deployment Manager 中查看运行结果
Scenario 在 IBM SPSS Collaboration and Deployment Service 中的运行
我们将用下面的例子来讲解在 IBM SPSS Collaboration and Deployment Service 中如何基于 Scenario 的 Deployment options 应用。
图 17. Scenario 形式的 Stream 文件
我们将这个 Stream 以 Scenario 的形式部署到 Repository Server 上去。在 Stream 的 Deployment 窗口,Deployment type 是 Model refresh,并且选择 Deploy as scenario。
在 Deployment Manager 中我们新建一个 Job,并将部署到 Repository 中的 Scenario 拖到 Job Editor 里。我们可以发现与 Stream 的配置不同的是,我们可以选择 Scenario 运行的 Type。其中有用于升级模型的 Refresh,用于评测模型的 Evaluation 和用于预测模型的 Score。
下边我们就分别看看这三种运行方式:
图 18. Refresh 配置窗口
在 Scenario 的 General 配置页,我们选择 Refresh,并在 Enterprise View 页面为这个 Scenario 配置新的数据源。
在 Results 这个配置页里,我们可以看到,Refresh 的输出是一个 Scenario 文件。这个文件里包含了更新后的模型。其默认的路径就是原来的 Scenario 文件的路径,也就是说,运行后原来的 Scenario 文件将生成一个新的 Version。
图 19. Refresh 的 Results 页面
运行这个 Scenario 运行成功后,我们可以发现原来的 Scenario 升级了一个版本,并且模型也被更新了。
图 20. Version 窗口
图 21. Evaluation 配置窗口
这里,我们选择 Evaluation 的 Type,Metric 选择 Gains。我们发现 Results 里将会有三个文件,一个是 Evaluation Governance 文件,它是 xml 格式的, IBM SPSS Collaboration and Deployment Service 使用这个文件对 Result 进行管理和分析使用的;此外还有 Evaluation Output Target 和 Gains Output Target 文件,这两个分别是 Evaluation 和 Gains 的输出文件:Evaluation Output Target tab 格式的文件,其是 Evaluation 运行的结果;Gains Output Target 是个 jpg 文件,其包含 Gain 图。
图 22. Evaluation 的 Results 页面
运行后我们可以打开 Gains Output Target 文件来查看结果:
图 23. Gains 图
我们也可以在 Model Management 窗口里进一步查看对模型的评测。
图 24. Model Management 窗口内容
在 Model Management 窗口里,我们可以选择一条记录,右击选择 Show Predictors,查看不同的 Predictor 对模型的影响。
图 25. Score 的配置窗口
当我们在 Scenario 的 General 页面配置 Type 为 Score 后,可以发现在 Results 页面里没有任何内容,也就是说 Score 没有任何的输出。Score 内部执行就是执行我们在 Modeler Deploy 时所选择的 Score 分支。在这里如果我们想要得到 Score 的结果的话,我们在设计 Scenario 的时候就应该让 Score 分支是有输出的节点,例如文件输出节点,或者数据库输出节点。这样当我们运行 Score 后,就可以到相应的位置来查看预测结果了。
IBM SPSS Modeler14.2 版本中的 Deployment options 功能在 IBM SPSS Collaboration and Deployment Service4.2 中只支持 Scenario 这种特殊的 Stream,对 Stream 的限制比较多,用户只能根据 Modeler 及 IBM SPSS Collaboration and Deployment Service 定制的规则去创建相应的 Stream 文件,而非所有的用户 Stream 文件都可以使用。因此,作者觉得在以后的 IBM SPSS Collaboration and Deployment Service 发展版本中,应该会支持普通类型的 Stream,这样做的好处是用户不需要构建挑选特殊的 Stream,准备工作的时间可以减少,专业要求可以放低,使得 IBM SPSS Collaboration and Deployment Service 在预测方面更加的通用。
学习
- 了解更多关于
IBM SPSS Modeler 产品的相关信息。
- 了解更多关于
IBM SPSS Collaboration and Deployment Services 产品的相关信息。
- 通过
数据挖掘产品 IBM SPSS Modeler 新手使用入门,了解如何使用 IBM SPSS Modeler 进行数据挖掘。
- 《统计学基础》,作者:于声涛,对外经济贸易大学出版社 [2005-01-01]
- 在 developerWorks 中国网站 Information Management 专区 中进一步了解信息管理。查找技术文档、how-to 文章、教育、下载、产品信息等。
- 了解最新的
developerWorks 技术活动 与 网络广播。
- 在 Twitter 上关注 developerWorks。
获得产品和技术
- 利用
IBM 产品评估试用版软件 构建您的下一个开发项目,这些试用软件可直接从 developerWorks 下载获得。加入 IBM 软件下载与技术交流群组,参与在线交流。
讨论
- 参与论坛讨论。
- 访问
developerWorks 博客,加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。


