【机器学习】帮助您选择最好的AutoML框架

对87个数据集上的四个自动机器学习框架进行头对头比较。


目录

介绍

方法

结果

结论和解释


介绍

自动机器学习(AutoML)可以将AI带入更大范围的受众。它提供了一套工具,帮助数据科学团队在不同的经验水平上加快数据科学过程。这就是为什么AutoML被认为是人工智能民主化的解决方案。即使有经验丰富的团队,您也可以使用AutoML来充分利用有限的资源。虽然有专有的解决方案可以将机器学习作为一种服务,但是值得关注当前满足这种需求的开源解决方案。

上一篇文章中,我们探讨了AutoML环境,并重点介绍了一些可能适用于数据科学团队的软件包。在这一块,我们将探讨的四个“全管路”解决方案中提到:auto_ml自动sklearnTPOTH2O的AutoML解决方案

每个软件包的优缺点都在我们的全文“基准自动机器学习框架”中详细介绍。该文件还包含有关该方法的其他信息和一些其他结果。

扫描二维码关注公众号,回复: 3280327 查看本文章

 

方法

为了提供准确和公平的评估,从OpenML中选择了87个开放数据集,30个回归57个分类,这是通过REST API以一致方式公开的标准机器学习数据集的在线存储库。数据集的拆分提供了可在商业机器学习问题中找到的表格数据集的广泛样本。为了防止污染验证集,对数据集的选择给予了很多考虑。例如,auto-sklearn使用已经在一组OpenML数据集上训练的热启动。避免了这些数据集。

四个框架中的每一个,auto_ml,auto-sklearn,TPOT和H2O都使用其建议的参数进行测试,每个数据集包含10个随机种子。分别选择F1分数(加权)和均方误差作为分类和回归问题的评估标准。

使用3小时的约束将每个AutoML方法限制为反映由许多数据科学团队执行的初始探索性​​搜索的时间跨度。这导致估计的计算时间为10,440小时。因此,我们决定使用AWS的批处理服务来评估模型,以使用C4计算优化的EC2实例来处理此任务的并行化,每次运行分配2个vCPU和4 GB内存。

我们使用尽力而为的方法来确保所有测试都已完成,并且所有测试在3小时限制内至少有3次成功。在某些情况下,AWS Batch的计算环境和基于docker的资源管理会导致不可预测的行为。为了解决这个问题,我们开发了一种自定义的“裸机”方法,用于在EC2实例上复制AWS Batch,并对每个进程内存管理进行更精细的控制。具体来说,如果进程使用的内存量超过Batch分配的数量,则docker内存管理器会向基准测试进程发送一个终止信号。如果不大幅增加每次运行的实例大小,则无法更改此硬限制。使用相同的计算约束,我们在我们的定制“裸机”实现上测试了在这些非常特定条件下失败的运行。

此外,在运行这些测试的过程中,我们修复了开源框架中的一些错误,这些错误在我们的全文中有所描述。完成这些修复后,没有任何数据集完全失败。这些故障通常在日常使用中被遮挡,但在执行的测试规模期间出现。

 

结果

图1描述了我们选择的数据集的多样性。您可以看到分类通常是二进制的,回归行计数相对一致,而分类行计数则倾向于大约1000行的数据集。回归分类和分类中心的特征计数大约有10个特征,分类略微偏向100.我们认为该数据组是许多数据科学家将遇到的一般数据科学问题的代表性样本。

图1:在分类和回归问题之间划分的原始数据集特征

某些框架在特定种子和框架上耗尽时间。共删除了29个运行组合(数据集和种子)。这些运行组合在所有框架中都被删除,以保持各个框架的可比性。该过程导致总共132个数据点(29 * 4)被丢弃,总体上约为~3%(116/3480次运行)。

图2:跨分类数据集的头对头平均表现

图3:回归数据集的头对头平均表现

在上述回归和分类数据集上评估每个框架。他们的表现是通过按框架汇总数据集的加权F1得分和MSE得分来计算的。每个度量标准在每个数据集的基础上跨框架标准化,并从0到1进行缩放。在MSE的情况下,这些值被反转意味着更高的值表示更好的结果,因此图表在分类和回归可视化之间保持一致。10个评估种子的平均值表示框架在特定数据集上的表现。在图2和图3中,较暗的阴影表示更大的性能差异。

图4:所有分类数据集的框架性能

图5:所有回归数据集的框架性能

我们在图4和图5中使用箱形图来演示框架性能。箱形图中的凹槽表示中位数的置信区间。表1中的平均值和标准偏差显示了精确的差异。

表1:每个框架结果的精确度

 

结论和解释

总的来说,每个可视化和解释呈现相同的图片。Auto-sklearn在分类数据集上表现最佳,TPOT在回归数据集上表现最佳。重要的是要注意,这个实验的定量结果具有极高的差异,因此,考虑代码库的状态,持续开发,功能集和这些单独框架的目标而不是更重要。独立表现。由于这些因素以及我们在进行此分析时与各社区的互动,我们建议使用TPOT和auto-sklearn

每个包(auto-sklearnTPOTH2OAuto_ml),论文全文,及以及基准测试的实施链接。

原文:https://medium.com/georgian-impact-blog/choosing-the-best-automl-framework-4f2a90cb1826

猜你喜欢

转载自blog.csdn.net/ChenVast/article/details/82734276