什么是AutoML?
AutoML即为Auto+ML,是自动化+机器学习两个学科的结合体;从技术角度来说,则是泛指在机器学习各阶段流程中有一个或多个阶段采取自动化而无需人工参与的实现方案。例如在本文开篇引用的AutoML经典图例中:其覆盖了特征工程(Feature Engineering)、模型选择(Model Selection)、算法选择(Algorithm Selection)以及模型评估(Model Evaluation)4个典型阶段,而仅有问题定义、数据准备和模型部署这三部分工作交由人工来实现。
一、官方文档
AutoML自动对数据抽取特征并进行模型训练,大部分automl模型框架是基于超参数搜索技术,Autogluon则依赖于融合多个无需超参数搜索的模型。使用了stacking、k-则交叉bagging、多层stacking技术来提高预测精度。
基本功能代码展示
!pip install autogluon
from autogluon.tabular import TabularPredictor
predictor = TabularPredictor(label = target).fit(train_df[columns_names + [target]],
tuning_data = validation_df[columns_names + [target]],
timelimit = 240)
predictor.leaderboard(test_df, silent = True)
predictor.feature_importance(test_df, subsample_size = None)
二、相关论文
ABSTRACT We introduce AutoGluon-Tabular, an open-source AutoML framework that requires only a single line of Python to train highly accurate machine learning models on an unprocessed tabular dataset such as a CSV file. Unlike existing AutoML frameworks that primarily focus on model/hyperparameter selection, AutoGluon-Tabular succeeds by ensembling multiple models and stacking them in multiple layers. Experiments reveal that our multi-layer combination of many models offers better use of allocated training time than seeking out the best. A second contribution is an extensive evaluation of public and commercial AutoML platforms including TPOT, H2O, AutoWEKA, auto-sklearn, AutoGluon, and Google AutoML Tables. Tests on a suite of 50 classification and regression tasks from Kaggle and the OpenML AutoML Benchmark reveal that AutoGluon is faster, more robust, and much more accurate. We find that AutoGluon often even outperforms the best-in-hindsight combination of all of its competitors. In two popular Kaggle competitions, AutoGluon beat 99% of the participating data scientists after merely 4h of training on the raw data.
三、本地安装使用
由于Autogluon支持的环境有限,目前仅支持LINUX和MAC操作系统,因此要想在windows操作系统上安装,只能通过Docker在本地创建虚拟机环境。
Docker简介: Docker takes away repetitive, mundane configuration tasks and is used throughout the development lifecycle for fast, easy and portable application development - desktop and cloud. Docker’s comprehensive end to end platform includes UIs, CLIs, APIs and security that are engineered to work together across the entire application delivery lifecycle.(Docker 消除了重复的、平凡的配置任务,并在整个开发生命周期中用于快速、简单和可移植的应用程序开发 - 桌面和云。Docker 全面的端到端平台包括 UI、CLI、API 和安全性,它们旨在在整个应用程序交付生命周期中协同工作。)
四、在线平台
可以借助第三方平台,这些机器学习平台一般都支持机器学习相关环境,而且都是基于LINUX操作系统开发,例如国外Google的colab,但是需要翻墙,国内可使用的平台有百度AI Studio,而且近期有活动,为认证用户提供免费算力。
|