1 - AutoML
AutoML(自动化机器学习)是将机器学习应用于现实问题的端到端流程自动化的过程。html
AutoML定义
简单来讲就是一种自动化任务的方法:git
- 预处理并清理数据。
- 选择并构建适当的功能。
- 选择合适的模型系列。
- 优化模型超参数。
- 后处理机器学习模型。
- 批判性地分析所得到的结果。
AutoML优势
- 自动化重复的任务,如管道建立和超参数调整等,让数据科学家在实际中能够可以更多地关注业务问题而不是模型
- 自动化ML管道中的步骤,在只需最少人力的状况下仍保持模型的性能,有助于避免可能因手动引入的错误
- 不一样知识背景的人都能使用机器学习的功能来解决复杂的场景
简而言之,AutoML下降进入机器学习和深度学习的门槛,可以以最小的领域知识或实际数据来应用算法和训练模型,只需不多的努力便可实现最早进的性能。github
automl.org
2 - auto-sklearn
auto-sklearn基于sklearn库,具有专业并强大的模型库和数据/特征预处理库。
熟悉sklearn的开发者很容易切换到Auto-Sklearn。
一般被用于回归和分类任务,计算量较少,所以实现成本较低。算法
auto-sklearn与常规ML framework的对比

常规 ML framework主要的环节包括 :导入数据---》数据清洗---》特征工程---》分类器--》输出预测值
auto-sklearn增长的部分:api
- 自动学习样本数据:meta-learning,学习样本数据,自动推荐合适的模型。
- 自动调超参:贝叶斯优化(Bayesian optimizer)
- 自动模型集成:build-ensemble,模型集成,多个模型组合成一个更强更大的模型,提升预测准确性。
auto-sklearn一些特性
- 支持设置单次训练时间和整体训练时间,使得工具既能限制训练时间,又能充分利用时间和算力。
- 支持切分训练/测试集的方式,也支持使用交叉验证。从而减小了训练模型的代码量和程序的复杂程度。
- 支持加入扩展模型以及扩展预测处理方法。
一些说明:网络
- 暂不支持深度学习
- 耗时较长,计算时长每每一个小时以上
- 在数据清洗环节,还须要人为参与,目前对非数值型数据不友好
auto-sklearn官网信息
3 - H2O简介
Automatic Machine Learning for the Enterprise. Driverless AI automates feature engineering, model building, visualization and interpretability.多线程
- H2O是企业级机器学习框架、开源的预测引擎,提供了一站式自动建模平台DAI(Driverless AI)。
- H2O其实是经过增长一个专有超参数调整和功能工程层 Driverless AI,从而使性能获得提高。
- H2O是商业程序,价格昂贵,目前提供试用期:(Driverless AI 21-Day Free Trial)。
H2O一些特性
- H2O框架的核心代码由Java编写,数据和模型经过分布式的key/value存储在各个集群节点的内存中,算法使用Map/Reduce框架实现,并使用了Java中的Fork/Join机制来实现多线程。
- 支持深度学习、梯度推动(Gradient Boosting)、随机森林(Random Forest)、广义线性模型(即逻辑回归,弹性网络)等各类机器学习算法。
- 支持多语言Python、Java、Scala、R等
- 多种数据接口:HDFS, S3, SQL and NoSQL
- 界面简洁,易于扩展和长期维护

H2O官网信息
4 - AutoKeras简介
能够视为Google AutoML(https://cloud.google.com/automl/)的替代品。
使用Auto-Keras实现自动化深度学习,自动训练模型,几乎不须要干预,但一般是一个很是耗时的过程。
AutoKeras一些特性
- AutoKeras是一个由易用深度学习库Keras编写的开源Python包。
- 安装快速,运行简单,案例丰富,易于修改。
- 可经过 pip install autokeras快速安装,而后就能够在准备好在的数据集上作本身专属的架构搜索。
AutoKeras不只能帮助开发人员快速准确地建立模型,并且容许研究人员深刻研究架构搜索。
AutoKeras使用神经架构搜索(Efficient Neural Architecture Search,ENAS)为给定的学习任务搜索最佳的神经网络架构
AutoKeras官网信息
5 - 参考信息