部署
介绍
要实现你们模型的全部价值,你们必须把它们投入生产。在RapidMiner Studio提供的指导方法中,这意味着:
在Auto Model中,您只需单击一下就可以部署模型!
一个部署是描述相同输入数据的模型集合。在其最简单的形式中,它存在于存储库中并记录数据(例如,进行预测),但它可以做更多!
- 部署组织您的模型,并将必要的数据保存在一个地方(例如,为了遵守诸如GDPR).
- 部署跟踪模型的性能,提醒您注意漂移和偏差。
- 在公共项目上协作的组可以共享部署。
- 部署提供web服务,因此您可以将其与其他软件集成。
一个部署位置是用于一个或多个部署的容器。
- 多个部署可以存储在一个公共部署位置。
- 单独工作的团队可以有不同的部署位置。
其基本理念是:投入生产的模型越多越好。因此,部署应该尽可能简单。为什么要浪费你的模特?
跳转到目录表
计划部署
部署位置从一个空文件夹开始,可以是本地文件夹,也可以是远程文件夹。最好的策略,一旦你拥有创建了这个文件夹不要碰它,以免破坏您的部署。
部署位置 | 文件夹位置 |
---|---|
当地的 | RapidMiner Studio存储库 |
远程 | RapidMiner AI Hub存储库 |
RapidMiner AI Hub上的部署位置可以共享,您可以通过适当配置来控制访问用户和组。
部署的组件
在部署位置中,您可以创建部署。该部署将提供以下组件的子集,具体取决于部署位置的上下文。
组件 | 描述 |
---|---|
指示板 | 显示随时间测量的得分统计信息 |
模型 | 竞争模型的列表,建立在相同或至少相似的数据集(相同的列和相同的数据类型)上,其中一个模型是活动的,其余的是挑战者。以符合法规,例如GDPR,包括每个模型的完整细节,包括原始输入数据集和用于构建模型的过程。 |
性能 | 显示每个模型随时间测量的详细得分统计信息 |
飘 | 输入数据分布与得分数据分布之间的差异。这种差异的产生可能是由于偏差——因为输入数据不具有代表性——或者是因为评分数据发生了漂移。如果测量到的漂移很显著,您可能需要重建您的模型。 |
模拟器 | 模型模拟器,从汽车模型 |
得分 | 上传你想要评分的数据和查看结果的界面 |
警报 | 当部署中出现不寻常或不希望出现的行为时,会发出警告 |
集成 | Web服务使得共享部署并将其与其他软件集成成为可能 |
默认情况下,每个部署位置包括Models、Simulator和Scoring。下表描述了额外的组件在以下情况下可用:
RapidMiner工作室 | +数据库连接 | |
---|---|---|
RapidMiner工作室 |
|
|
+ RapidMiner AI Hub |
|
|
创建部署位置
创建一个远程部署位置,你需要访问RapidMiner AI Hub存储库。
下面的屏幕截图演示了创建远程部署位置,监控。创建本地部署位置的步骤基本相同。在情况不同的地方,我们发表评论。
从内部部署概述,点击新添加部署位置,并在结果对话框中输入名称。在我们的示例中,我们写入“monitored_remote_deployment”,然后单击下一个。
我们选择创建一个远程部署位置。在此位置的部署将包括警报和集成。相比之下,当地的部署位置不包括这些组件。
如果尚未在存储库中创建空文件夹,可以单击创建新文件夹。在本例中,我们在“远程存储库”中创建并选择一个名为“monitored_remote_deployment”的文件夹/home/admin
。你可以在任何你喜欢的地方创建文件夹,只要它是空的。
注意,这个存储库包含一个“PostgreSQL”连接,我们在激活时将需要这个连接监控。
要激活监视,请单击复选框并选择一个数据库连接。点击添加新连接如果需要的话创建连接。在我们的例子中,我们选择了一个已经存在的“PostgreSQL”连接。
由于监控,该位置的所有部署都将包括一个指示板总结一下性能和飘。没有监视,这些组件就不包括在内。
要激活电子邮件警报,请单击复选框并选择“发送邮件”连接。点击添加新连接如果需要的话创建连接。在我们的示例中,我们创建并选择一个电子邮件联系称为“Email_Alert”。
点击创建位置,就可以添加部署了!我们刚刚创建的部署位置与其他部署位置一起出现在概览的右上角的下拉列表中。
在本部署概览中,您可以添加新的部署位置,以及管理您现有的部署位置。
创建部署
在这个阶段,您可以单击添加部署并创建一个部署,但是该部署将没有内容,直到您添加一些模型。我们创建了一个名为“Churn”的部署,并将我们的问题确定为分类问题,然后继续使用汽车模型。
例如:生产
为我们的部署提供内容,我们使用社区样本库,在社区样本>社区真实世界用例>电信客户流失,使用部分数据集进行建模,其余数据集用于模拟得分。
这里的问题不仅仅是预测电话公司的哪些客户会放弃他们的订阅,而是计算如果该模型能够正确识别流失的客户,假设电话公司可以通过回扣留住他们,该模型可以实现的收益。
收益
作为一个选项,Auto Model包括一个性能度量,它允许您为混淆矩阵的每个元素分配成本,这样结果就不再仅仅被识别为真或假,而是根据利润和损失来识别。
在使用Auto Model()创建模型期间准备目标),我们按下按钮定义成本/收益,弹出对话框。成本被标识为负数,收益被标识为正数。
- 默认情况下,成本或收益为零,即客户保留其订阅。
- 被该模型确定为“流失者”的客户将获得价值200美元的回扣,以说服他留下来。
- 假阴性(模型预测客户会留下来,但他离开了)是最坏的情况。我们假设有了回扣,他会留下来。因此,500美元的成本被分配给矩阵的元素,即与失去一个客户相关的收入。
使用这些值,我们可以计算应用该模型的成本,并将其与基线成本进行比较,根据基线成本,每个流失的客户(没有提供回扣)代表500美元的损失。的获得模型提供的是这两种计算的差值。
在接下来的部分中,包括得分,指示板,和性能总之,在展示结果时,将包括与模型相关的成本/收益。
汽车模型
构建一组模型的过程在前面的汽车模型。我们当前的例子没有什么不同,除了我们已经定义了上面讨论的成本矩阵。在接受所有默认值并创建模型之后,我们到达Auto Model概述。
通过单击侧面板中的模型,选择其中一个子菜单项,然后单击,任何甚至所有这些模型都可以包含在我们的“流失”部署中部署。
部署模型
部署模型包括三个步骤。
命名模型(例如,“Gradient boosting Trees”)
选择部署位置(例如,“monitored_remote_deployment”)
选择部署文件夹(例如,“流失”)
如果您还没有创建部署位置或者一个部署,您可以在此过程中这样做。
点击添加模型,模型出现在部署视图中。要在部署中包含其他模型,您必须返回到Auto Model View。
模型和评分
本节和以下各节将讨论组件更详细的部署。
任何部署的基本组件都是模型,模型模拟器,得分。如果您不仅希望对数据进行评分,还希望计算随时间变化的评分数据的统计信息,则应该另外添加激活监控。
模型
通常,一个部署将包含多个模型。理想情况下,您希望使用具有最佳性能的模型,但是您不能排除情况随着时间的推移而变化的可能性,因为世界和输入数据发生了变化飘。
一个型号应该标记为活跃的,其余型号标记为挑战者。主动模式的选择在任何时候都取决于你;例如,您可以选择具有最佳性能的模型或具有最快评分时间的模型。每次使用部署对新数据进行评分时,活动模型和挑战模型都会计算结果。如果在稍后的某个阶段,您决定其中一个挑战者模型更适合您的问题,您可以替换主动模型。
注意,在下面的示例中,广义线性模型在部署之前,当模型被构建时,它具有最好的性能,但是它已经被深度学习,标为绿色,因为它的表现好于预期渐变增强树标为黄色,因为它的表现略低于预期。这两个朴素贝叶斯和决策树做得很差。如果这些模型继续表现不佳,您可能希望将它们标记为不活跃的,这样你就不会浪费计分时间。
自渐变增强树性能比深度学习,我们右键单击模型并选择更改为活动状态。
如果您右键单击任何模型并选择显示详细信息,您将看到该模型包含以下内容:
- 完整的输入数据用于创建它的集合
- 的XML表示形式过程用于构建模型
以符合法规,例如GDPR,这个信息是必不可少的。
的注释版本过程可以显示在设计视图。
模拟器
模型模拟器的详细描述见汽车模型。附加到每个部署的模拟器是属于活动模型的模拟器。
得分
有关评分数据的编程方法,请参见集成。
可以说,部署的主要目的是记录数据。您的模型将新数据作为输入,并返回结果。如果你有激活监控(强烈推荐!),收集结果,以便您可以保存长期统计数据。
点击分数数据,并从存储库中选择一个数据集。请注意以下几点。
- 评分数据集应该包含列类似于用于建立模型的数据集。评分过程足够健壮,可以接受稍微不同的数据类型,只要它们都具有相同的超类型(例如实数或整数,因为它们都是数字)。只要数据类型和分布与输入数据相似,该流程还可以检测列名的更改。
- 在构建模型时未包含的数据列将被忽略。
- 将使用平均值或模式提供模型所需但缺失的数据列。
有两列数据具有特殊的状态:
- 目标列—如果得分数据的目标值已知,可以与预测结果进行比较,统计模型的错误率。通常在计分时你不会有这些信息(这就是为什么你需要一个预测!),但是你可以在以后添加它,如果你可以通过一个ID列。
- ID列-如果你缺少目标列在你的得分数据中,但是你有一个ID列之后,当目标值已知时,您可以使用相同的ID重新提交数据,以生成错误率和其他统计信息。点击定义实绩重新提交数据。
当您提交评分数据时,将尝试识别ID和目标列。即使这些列的标识不正确,您也可以通过右键单击受影响的列并选择来分配正确的值用作ID或用作目标。只有列不模型用作输入的数据可以标识为ID或目标列。
结果以带有一些附加数据列的表的形式返回:
- 预测
- 信心值
- 成本
由于在我们的示例中评分数据包含目标值,因此计算错误率。注意,您可以出口将结果存储到文件或存储库。
如果运行自动模型时,复选框解释预测检查后,评分数据用颜色编码,以表明其对预测的重要性:深绿色值强烈支持该数据行的预测,深红色值强烈支持a不同的对那一行数据的预测和较浅的颜色不太重要。
监控
要激活监视,您需要创建一个数据库连接。目前只支持MySQL和PostgreSQL。
注意,Model Operations数据库独立于RapidMiner AI Hub数据库;如果你已经安装了一个RapidMiner AI Hub数据库与MySQL或PostgreSQL,你可以使用相同的数据库,但没有必要。
每次你记录数据,你都会得到一个结果。您可以手动收集所有结果并对其进行分析,但有一种更好的方法。
如果您激活监视,则会为您收集得分统计信息,以便您可以检查一切是否按预期工作。监控可以帮助您回答以下问题:
- 你是否定期记录数据?有多少数据?
- 你们模型的错误率是多少?
- 你有多少钱?获得了通过将模型应用于数据?
- 你的评分数据的分布是否与你的模型一致?飘)?
- 有异常事件触发过吗警报?
- 对数据进行评分时的平均响应时间是多少?
这些问题的答案会累积显示在一个指示板更详细的(每个模型)在性能总结。
指示板
仪表板提供了以下随时间显示的统计信息。您可以选择的时间间隔:每天、每周、每月或每季度。有关更多详细信息,请参见性能总结。
性能
性能摘要提供了比指示板,显示每个模型随时间的变化。您可以选择的时间间隔:每天、每周、每月或每季度。性能摘要是模型操作的核心。
- 分数
- 错误
- 得分乘以
- 预测课程与实际课程
- 模型收益
注意,通过点击定义成本矩阵,我们可以重新定义成本矩阵我们之前创建的,导致修改后的图表模型收益。
飘
对于用于构建部署模型的每一列输入数据,都有一个唯一的值分布。虽然没有理由期望得分数据与输入数据相同,但模型的成功在某种程度上取决于这些数据分布的稳定性。当得分数据的分布与输入数据的分布不同时,它被称为漂移。
漂移并不罕见;世界在变化,你的数据分布也在变化。但是,如果变化很大,则应该重新构建模型。你如何知道这些变化是否显著?Drifts组件帮助提供了一个答案。对于每一列输入数据,Drifts将其分布与评分数据的分布进行比较。有两个图表可供选择:
- 因子漂移-一个条形图,按漂移量排序的列名。单击一个栏查看发行版。
- 漂移vs重要性-散点图,测量每个柱的漂移与重要性。单击一个点来查看分布。
当在评分中起重要作用的列也有明显的漂移时,就会出现问题。在最坏的情况下,一个点会出现在散点图的右上象限。在下面的例子中,不存在这样的问题。“合约”是一个重要的列,但它的漂移接近于零——您可以看到右边的两个分布非常相似。
远程部署
警报
当部署中出现不寻常或不希望出现的行为时,会发出警告。警报的触发器包括:
- 平均错误超过用户定义的阈值
- 平均得分次数大于用户设置的阈值
- 在给定时间内分数低于预期
- 比挑战者误差更大的主动模型
- 漂移大于用户自定义阈值。
要创建警报,请单击创建新警报。当触发警报时,它将出现在指示板,但您也可以将警报配置为向您发送电子邮件。
集成
积分就是web服务这就提供了得分URL,你可以在那里发布得分数据。在此上下文中,它还提供了实绩URL,对应按钮定义实绩在得分接口。如果你计划自动化评分过程,一个web服务正是你所需要的;RapidMiner AI Hub提供了一个REST API这有助于您将部署与其他软件集成在一起。
集成组件显示得分URL并允许您使用得分数据的任意值进行测试。在下面截图的右侧,你可以看到测试网址和测试响应。在本例中,来自服务器的响应是“部署未激活”,因为我们忘记翻转活跃的?切换到屏幕的右上角,但通常响应将包括JSON格式的带有置信度值的预测。