自动化机器学习(Automatic Machine Learning,简称AML)是一种流水线(也称管道),它能够让你自动执行机器学习(ML)问题中的重复步骤,从而节省时间,让你专注于使你的专业知识发挥更高价值。最重要的是,它不只是一些模糊的想法,而是我们已经可以使用很多基于标准python ML包建立的应用包,如scikit-learn等等。
在这种情况下,任何熟悉机器学习的人都可能会回想起网格搜索(grid search)这个概念。他们这样想是完全正确的。实际上,AML是在scikit-learn中应用的网格搜索的扩展,而不是迭代这些值预先定义的集合和其组合,它通过搜索方法,特征,变换和参数值来获得最佳解决方案。因此,AML「网格搜索」不需要在可能的配置空间上进行详尽的搜索——AML有一个很赞的应用叫做TPOT包,其提供了像遗传算法这样的应用,可用来在某个配置中混合各个参数并达到最佳设置。
在这篇文章中,我将简要介绍一些AML的基础知识,然后在应用中使用TPOT软件包,并且包括遗传算法解决方案的优化问题。
基础概念
基本概念非常简单,一旦我们收到原始数据,我们就开始使用标准的ML流水线。
在这条流水线中,我们有一些针对于给定数据集/问题的步骤,很明显数据清理的自动化是一个问题。 然而,在这个过程中,我们得到以下任务:特征预处理
特征选择
模型选择
...
这些任务的共同之处在于,在每个方案中我们先使用一组方法,然后我们评估其性能(特征重要性&#x