使用TPOT自动化您的机器学习管道
什么是自动机器学习?
自动机器学习是一个不断发展的机器学习领域,其目标与超启发式领域类似:自动为特定任务推荐优化的pipelines,算法或适当的参数,而不会过多依赖用户的知识。
什么是机器学习分类管道?
通常,在运行机器学习算法时,它涉及一系列任务,包括预处理,特征提取,模型拟合和验证阶段。例如,对文本文档进行分类可能涉及文本和清理,提取特征以及使用交叉验证训练分类模型。分类管道被定义为需要执行的任务序列,以将属于给定机器学习数据集的实例分类为一组预定义类别。
TPOT-基于树的管道优化工具,用于自动化机器学习
TPOT是一个Python自动机器学习工具,它使用遗传编程优化机器学习管道。TPOT将通过智能地探索数千条可能的管道,以查找最佳数据,从而使机器学习的最麻烦部分自动化。
一旦TPOT完成了搜索,它就会为你提供最好的管道系统的Python代码。
在此图中,每个圆圈对应于机器学习操作器,箭头指示数据流的方向。
使用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_boston_pipeline.py)在测试集上至少达到10的均方误差(MSE):
相关推荐
jaybeat 2020-11-17
机器学习之家 2020-11-10
mori 2020-11-06
jaybeat 2020-11-02
changyuanchn 2020-11-01
Micusd 2020-11-19
人工智能 2020-11-19
81510295 2020-11-17
flyfor0 2020-11-16
lgblove 2020-11-16
Pokemogo 2020-11-16
Pokemogo 2020-11-16
clong 2020-11-13
lizhengjava 2020-11-13
ohbxiaoxin 2020-11-13
Icevivian 2020-11-13
EchoYY 2020-11-12
CSDN人工智能头条 2020-11-11
mogigo00 2020-11-11