剑客
关注科技互联网

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

IBM SPSS Collaboration and Deployment Services 及其家族产品

随着社会的飞速发展、各行各业的商业越发激烈,为提高企业生产效率、保证其在日益激烈的环境中稳步发展,越来越多的企业借助于商业分析软件对其自身的业务进行商业挖掘以获得更好的发展,IBM SPSS 预测分析软件提供了一系列先进、易用的数据挖掘产品使得企业能够快速建立数据挖掘模型,并将其部署于实际生产环境中。IBM SPSS 家族产品主要包括:IBM SPSS Modeler,IBM SPSS Statistics, IBM SPSS Analytic Server, IBM SPSS Collaboration and Deployment Service 等,关于更多的产品信息,请访问IBM SPSS 产品官方网站。其中 IBM SPSS Collaboration and Deployment Services(以下简称 CaDS)是一款管理和部署数据挖掘模型的企业级应用程序,它为 IBM SPSS 家族产品集成到完整的商业解决方案提供了企业级平台,使得这些解决方案能广泛部署和应用于商业预测分析,CaDS 卓越的控制和管理能力使得企业对预测分析模型的部署和应用变得容易,另外,它还提供了实时评分(Real Time Scoring)功能使得企业能够根据数据挖掘模型进行实时的预测分析。

评分(Scoring)是指给预测模型提供输入数据并实时得出预测结果的过程。评分模型可以是用于在给定输入数据条件下生产输出值的任何工件,如:来自于 IBM SPSS Modeler 的流文件(Stream)、IBM SPSS Statistics 的 PMML 文件。图 1 展示了 CaDS 一般评分的体系结构。图中的存储仓库(Repository)包含三个预测模型,配置 A 定义模型 1 的评分设置,配置 B 定义模型 2 的评分设置,配置 C 和 D 为模型 3 不同定义的评分设置。用户通过 CaDS 瘦客户端(Portal)将评分请求分,评分服务将生产评分结果并返回给用户。

图 1 一般评分体系结构

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

通常,用户为模型创建评分配置时,必须基于模型在存储库里的某个特定版本来完成,然而随着市场需求的不断变化,用于预测分析的模型可能需要对该模型进行,从而以纳入更多的影响因素,例如:新数据的可用性或是更好的预测分析算法,但在替换已有的预测分析模型之前,用户通常希望能够对新模型的性能进行评估以确定其是否优于已有模型,然而生产环境中的评分配置处于运行状态,如何在不影响现有预测分析工作的前提下,新的预测分析模型能够快速投入生产是一个亟待解决的问题,理想状态下,用户往往期待能够将一部分评分请求转发至新的预测分析模型进行处理,通过对比新旧模型的预测结果,做出更加明智的决定,为此 CaDS 提供了评分 A/B 关联集(Scoring A/B Association)及评分配置别名(Scoring Alias)。

评分配置别名

评分配置别名(Scoring Alias)为已有的评分配置提供固定名称,并最终将别名展示给评分用户,用户只需通过别名提交评分请求,此别名会将该请求传递到指定的评分配置并由该评分配置处理。客户机应用程序只需引用评分请求的别名,而不是引用真正的评分配置,从而预测模型的具体细节对应用户而言是透明的,当预测模型更新时,评分管理员只需简单地将此别名指向新的评分配置,在不中断用户业务的前提下实现模型的配置的无缝切换,当用户提交新的评分请求时,该请求将使用新的评分配置进行处理。图 2 展示了评分别名的体系结构。

图 2 评分别名的体系结构

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

如上图所示,当前存储库中包含两个评分模型及两个评分配置,配置 A 根据模型 1 进行评分配置,配置 B 根据模型 2 进行评分配置,另外还为评分配置 A 建立了别名,当评分客户将评分请求发送到此评分配置别名时,此别名将该评分请求路由到配置 A 并由其处理,模型 1 将生产的预测结果通过评分配置别名发送回客户端。

假定评分管理员发现模型 2 能够更好地完成预测分析,想在不影响整个正常过程但又不更改客户机应用程序前提下,完成新旧模型的替换,那么只需将此别名的配置更改为评分配置 B,此时新提交的评分请求将路由到评分配置 B,并最终交由模型 2 完成预测,随后模型 2 将产生的分析结果通过别名发送回客户端。由此可以看出,整个模型的更换对评分用户而言完全透明,且正在生产环境也并未收到任何影响。

评分配置关联集

评分配置关联集(Scoring Association)包含一个主评分配置和多个用于生成评分结果的备用评分配置,当用户向主评分配置提交评分请求时,主评分配置将根据关联集指定的分发百分比将一定比例的请求转发给相应的评分配置,随着时间的推移,用户可以比较所以模型生产的评分结果,以确定哪个模型的性能最佳。图 3 展示了一个评分配置关联集。

图 3 评分配置关联集

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

此关联集包含三个评分配置,即配置 A、配置 B 及配置 C,配置 A 定义了模型 1 的评分设置,配置 B 定义了模型 2 的评分设置,配置 C 定义了模型 3 的评分设置,其中配置 B 为此关联集的主配置,当评分客户端向配置 B 发送评分请求时,关联集则会根据百分比将 15%的评分请求路由到配置 A 处理、15%的评分请求路由到配置 C 处理,剩余的 70%则由配置 B 处理。若配置 A 或配置 C 从系统中删除,路由到该配置的评分请求将重新路由到配置 B,从而避免未运行或遇到导致其不可用的错误。

评分配置兼容性

为保证发送到主评分配置的角平分线请求可以由关联集中的任意一个评分配置处理,且配置所返回的输出可以由发送评分请求的可以机应用程序处理,关联集内的其他备用评分配置必须与该关联集的主评分配置兼容。通常,要保证兼容性,备用评分配置必须满足下列条件:

  1. 关联配置中的所有输入表名必须与主配置中的所有输入表名一一对应
  2. 关联评分配置的输入必须是主配置输入的子集或等集
  3. 关联评分配置的输入必须是主配置输出的超集或等集

为保证关联评分配置输入是主配置输入的子集,还必须满足下列条件:

  1. 关联配置的输入表中必填字段的名称必须包含在主配置的对应表中,这些字段在主配置中必须是必填字段
  2. 关联配置的输入表中可选字段的名称不必包含在主配置的表中,但是,如果这些字段包含在主配置中,那么它们可以是必填字段也可以是可选字段
  3. 关联配置中输入字段的类型必须与主配置中输入字段的类型相匹配

图 4 展示了主配置的兼容性评分配置和不兼容性评分配置。

图 4 评分配置兼容性

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

从图中可以看到,配置 A 和配置 B 都与主配置兼容,这两个配置中的表名都与主配置中的表

相同,同时,配置中所有字段的名称和类型都与主配置中的字段相同,关联配置中的所有必填字段在主配置中也为必填字段;另外,配置 A 和配置 B 所返回的输出也与主配置的相同。配置 D 虽只有一个输入表,但该表名、表中的字段类型和名称与主配置相同,同时其输出表为主配置输出表的超集,因此配置 D 也与主配置兼容。配置 C 中的所包含的表 3 并不包含于主配置中,且表 1 中的字段"开始"类型为"时间",也与主配置不同,因此配置 C 与主配置不兼容。配置 E 的输入表 2 中字段"分数"为必须字段,然而主配置中却是可选字段,且配置 E 的输出表为主配置输出表的子集,因此不满足兼容性要求。

评分配置的 A/B 对比测试

通过前面的介绍,相信大家对评分别名及评分配置关联集有了初步的了解,接下来本文将以实际生产环境为例,详细介绍如何利用评分别名及评分配置关联集进行 A/B 对比测试,从而对生产环境中的数据挖掘模型高效管理。在 A/B 对比测试中,用户可以保持现有评分配置处于部署状态,但将一些传入的评分请求从生产配置重新路由到潜在配置,随着处理请求越来越多,用户就可以通过查看模型所得到的预测结果进行整体评估,一旦确定新的模型优于旧的模型,将可以立即将其部署到生产环境中用于替换就的模型。

假定现有一模型"药品预测模型_A",根据病人的各项生命指标预测其最适用的药品,该模型的输入表及输出表如表 1 所示。

表 1 主配置的输入输出表

表名:
DRUG1n
输出表
Age Integer Required $R-Drug
Sex String Required $RC-Drug
BP String Required K
Cholesterol String Required Drug
Na Real Required
K Real Required
Drug String Required

将模型存储到 CaDS 存储库,对该模型定义评分配置,并投入到生产环境中进行实时预测分析,具体如图 5 所示。

图 5 定义评分配置

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

当评分配置定义好后,可通评分视图查看该评分配置的各项指标,如:该评分配置的所处的状态,总评分次数、所依赖的模型类型等,具体如图 6 所示。

图 6 评分配置状态

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

从图中可以看到目前该评分配置处于已启动状态,为保证预测分析模型对用户的透明化,接下来将为该评分配置创建别名,这样用户在提交评分请求时无须了解更多关于预测模型的细节,而只提供将评分配置所需的输入数据。在评分视图中右击该评分配置选择"创建别名…",输入的别名即可,具体如图 7 所示。

图 7 创建别名

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

此时在评分视图中将产生一个新评分配置,所有针对该评分配置所产生的评分请求实际上还是将由主评分配置处理。请注意,用户不能在别名上创建关联集。图 8 展示了评分视图中的别名。

图 8 查看别名

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

现在,用户可通过访问 CaDS 瘦客户端 Deployment Portal( http://localhost:8080/peb),找到该别名并提交评分请求,评分请求会路由到主评分配置进行处理,并实时返回预测分析结果,具体如图 9 所示。

图 9 提交评分请求

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

随着时间的推移,模型专家发现有两个新的算法可能能够更好地完成该预测分析工作,基于这两个新的算法,模型专家设计出了两个新的预测分析模型,即:药品预测模型_B 及药品预测模型 C,但在实际投入生产之前,专家需要比较新模型和旧模型的性能,从而进一步确认哪个模型性能最优。模型 B 和模型 C 的输入输出表如下所示:

表 2 配用配置 B 的输入输出表

表名:
DRUG1n
输出表
Age Integer Required $R-Drug
Sex String Required $RC-Drug
Na Real Required $RI-Drug
K Real Required Na
Drug String Required Drug
Sex
Age
K

表 3 配用配置 C 的输入输出表

表名:
DRUG1n
输出表
Age Integer Required $R-Drug
Sex String Required $RC-Drug
Na Real Required $RI-Drug
K Real Required Na
Drug String Required Drug
Sex
Age
K

为使得主配置的一部分评分请求能重新路由到备用评分配置处理,接下来,将为主配置创建关联集,在评分视图中,右击主配置,选择"创建关联…"选项,此时服务器会自动将所有与主配置兼容的配置列出来,具体如图 10 所示。请注意,在为保证评分请求能正常被备用评分配置处理,在创建关联集前,必须确保所有的评分配置处于已启动的状态。

图 10 兼容的评分配置

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

选择需要对比的配置,然后点击下一步。在本例中,将选择"备用评分配置_B"和"备用评分配置_C"。接下来,将需要为关联集中的每个评分配置指定路由百分比,然后点击完成,具体如图 11 所示。

图 11 分配路由百分比

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

当关联集创建完成后,在评分视图中展开主评分配置,可查看该关联集的详细信息,具体如图 12 所示。

图 12 查看关联集

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

如何利用 Scoring Alias 和 AB 关联规则高效管理数据挖掘模型

接下来,为了对比新模型与旧模型之间的性能,需要用户登录到 CaDS 瘦客端提交评分求情。随着时间的推移,评分请求将不断累积,模型专家可对比各个配置所产生的评分结果,从而做出决策。若对比后发现模型 C 具有最佳性能,计划用模型 C 来替代模型 A,那么只需编辑别名 "药品预测" ,将其指向"备用评分配置_C"即可;若备用评分配置均未产生更好的结果,当前模型 A 仍为最优,则只需删除该关联集,使得所有的评分请求仍路由到"主评分配置"即可。

总结

本文首先简要介绍了当前生产环境中对预测分析模型的管理所面临的困难,然后详细阐述了 CaDS 的评分配置别名和评分配置关联集,最后以一个现实的生产环境为例,详细介绍了如何利用评分配置别名及评分配置关联集对数据挖掘模型进行高效管理。

参考资源

学习

  • 访问SPSS 产品的主页,您可以通过这里了解更多关于 SPSS 产品的信息。
  • 访问 developerWorks Information Management 专区
    ,了解关于信息管理的更多信息。
  • 访问IBM SPSS 产品官方网站,了解更多详细信息。
分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址