审查和优化模型版本
第一个版本的模型训练完成后,分析生成的模型度量并配置新版本的实验,直到达到所需的结果。
当您运行实验版本时,您将进入模型视图,在那里您可以分析生成的模型指标。您可以随时切换到架构或数据视图。当需要返回到模型视图时,请单击模型视图 图标。
当所有指标都填充到模型指标表中,并且顶级模型旁边会出现奖杯 图标时,您就会知道第一个版本的训练已经完成。
分析模型
在模型视图中,我们可以看到顶级算法是用奖杯 图标进行评分的。这意味着这是基于 F1 分数的表现最好的模型。
执行以下操作:
-
在表的右上角,单击列选择器 按钮。在这里,您可以查看我们问题的所有可用指标,并根据需要添加或删除指标。选择要在表中显示的任何指标,或保留默认指标。
-
在模型指标表中,单击算法筛选器下拉列表,然后选择与性能最高的模型相对应的算法。
-
打开显示训练数据指标。
现在,您可以看到交叉验证训练中的度量,并将其与保持度量进行比较。对于每个保持度量列,都有一个对应的“训练”列,用于训练数据中的等效度量。
-
单击清除筛选器,然后将显示训练数据指标切换回关闭状态。
-
通过单击 F1 列标题,按性能从高到低对模型进行排序。您可以选择排除性能较低的算法,或者只关注最好的算法,以便在下一次训练迭代中更快获得结果。我们将在后面的部分中配置 v3 时解决这个问题。
-
向下滚动到度量表下方,查看所选模型的可视化效果。
-
单击 或查看配置以展开实验配置窗格。
-
单击新建版本创建下一个实验版本的草稿。
-
从 Permutation importance 图表以及实验配置窗格中的特性列表中,我们可以看到模型的第一次迭代非常依赖 DaysSinceLastService 特性,所有其他特性与之相比几乎没有任何意义。
这种差异,以及模型的极高性能,应该被视为有问题的迹象。在这种情况下,在数据收集过程中,没有定义逻辑来停止计算自客户上次取消订阅后的天数。结果,该模型学会了将上次服务票后的大量天数与 Churned 字段中 yes 的值相关联。
这是数据泄漏的一个例子,因为在真实世界场景中,模型只有在做出预测之前才能访问信息,并且该字段中包含的天数是在该测量点之后收集的。有关数据泄漏的更多信息,请参阅数据泄露。
我们需要从实验配置中删除“泄漏”特性 DaysSinceLastService,因为它会扭曲生成的模型。注意,在真实的用例中,在创建模型之前,需要对数据质量和逻辑进行彻底的调查,以确保生成的模型得到正确的训练。
我们将在下一部分配置 v2 时解决这个问题。
配置并运行版本 2
由于大多数模型训练将在修复此数据泄漏问题后更改,因此在完成任何进一步的改进之前,让我们配置一个新版本。
执行以下操作:
-
在上一步中,您已经打开了实验配置窗格以配置 v2。
-
在实验配置窗格中的特性下,清除 DaysSinceLastService 复选框。
-
单击运行 v2。
配置并运行版本 3
第二个版本的实验运行完成后,单击指标表中性能最高的 v2 模型旁边的复选框(标有奖杯 图标)。这将使用该模型的度量刷新页面。
在模型指标表上方,单击版本筛选器下拉菜单并选择 2。这允许您只关注 v2 模型指标。
您将看到,自从解决数据泄漏问题以来,重要特性列表发生了重大变化。表现最好的模型也可以使用与表现最好的 v1 模型不同的算法。
执行以下操作:
-
看看 Permutation importance 图表。可能有一些特性对我们的模型的影响比其他特性小得多。它们对于这个用例没有什么价值,可以看作是统计噪声。您可以尝试删除其中的一些特性,看看它是否能提高模型分数。
-
单击 或查看配置以展开实验配置窗格。
-
单击新建版本创建下一个实验版本的草稿。
-
在实验配置窗格的特性下,清除一个或多个对模型几乎没有影响的特性的复选框。
-
查看模型指标表。您可以选择排除一些性能较低的算法,或者只关注最好的算法,以便在下一次训练迭代中更快获得结果。
-
在实验配置窗格的算法下,可以选择清除一些低性能算法的复选框。
-
单击运行 v3。
比较实验版本
在模型指标表中,单击清除筛选器。
v3 运行后,单击性能最高的 v3 模型旁边的复选框以查看其度量。
单击更多模型筛选器,然后选择表现最好的筛选器。您可以看到每个实验迭代的性能最好的度量。
第一个版本的训练获得了最高的分数,但这些指标是高度夸大的,并且是由数据泄漏问题导致的不现实的性能预测指标。在 v3 中,表现最好的模型的 F1 得分比表现最好的 v2 模型的 F1 分数增加。
在真实场景中,在部署模型之前,根据需要重复这些优化步骤多次非常重要,以确保您拥有适合特定用例的最佳模型。
在本教程中,转到关于部署模型的下一节。