使用TPOT自动化您的机器学习管道

使用TPOT自动化您的机器学习管道

什么是自动机器学习?

自动机器学习是一个不断发展的机器学习领域,其目标与超启发式领域类似:自动为特定任务推荐优化的pipelines,算法或适当的参数,而不会过多依赖用户的知识。

什么是机器学习分类管道?

通常,在运行机器学习算法时,它涉及一系列任务,包括预处理,特征提取,模型拟合和验证阶段。例如,对文本文档进行分类可能涉及文本和清理,提取特征以及使用交叉验证训练分类模型。分类管道被定义为需要执行的任务序列,以将属于给定机器学习数据集的实例分类为一组预定义类别。

TPOT-基于树的管道优化工具,用于自动化机器学习

TPOT是一个Python自动机器学习工具,它使用遗传编程优化机器学习管道。TPOT将通过智能地探索数千条可能的管道,以查找最佳数据,从而使机器学习的最麻烦部分自动化。

使用TPOT自动化您的机器学习管道

一旦TPOT完成了搜索,它就会为你提供最好的管道系统的Python代码。

使用TPOT自动化您的机器学习管道

在此图中,每个圆圈对应于机器学习操作器,箭头指示数据流的方向。

使用TPOT

导入TPOT :

from tpot import TPOTClassifier

创建TPOT实例:

pipeline_optimizer = TPOTClassifier()

自定义TPOT参数可能如下所示:

pipeline_optimizer = TPOTClassifier(generations=5, population_size=20, cv=5,random_state=42, verbosity=2)

现在,TPOT准备对管道进行优化

pipeline_optimizer.fit(X_train, y_train)

使用score函数评估测试集上的最终管道:

print(pipeline_optimizer.score(X_test, y_test))

最后,为优化的管道导出相应的Python代码:

pipeline_optimizer.export(‘tpot_exported_pipeline.py’)

以下Python代码说明了如何使用TPOT在波士顿住房价格数据集上执行回归任务。

from tpot import TPOTRegressor
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
housing = load_boston()
X_train, X_test, y_train, y_test = train_test_split(housing.data, housing.target, train_size=0.75, test_size=0.25)
tpot = TPOTRegressor(generations=5, population_size=50, verbosity=2)
tpot.fit(X_train, y_train)
print(tpot.score(X_test, y_test))
tpot.export(‘tpot_boston_pipeline.py’)

使用TPOT自动化您的机器学习管道

运行这段代码应该会发现一个管道(导出为tpot_boston_pipeline.py)在测试集上至少达到10的均方误差(MSE):

使用TPOT自动化您的机器学习管道

相关推荐