1 - AutoML
AutoML(自动化机器学习)是将机器学习应用于现实问题的自动化端到端过程。
- 安装一个程序库/使用一个web接口
- 将程序库/接口指向数据
- 自动在数据上训练模型,无需调整参数/深入了解驱动它的算法
AutoML定义
简单来说就是一种自动化任务的方法:
- 预处理并清理数据。
- 选择并构建适当的功能。
- 选择合适的模型系列。
- 优化模型超参数。
- 后处理机器学习模型。
- 批判性地分析所获得的结果。
AutoML优点
- 自动化重复的任务,如管道创建和超参数调整等,让数据科学家在实际中可以能够更多地关注业务问题而不是模型
- 自动化ML管道中的步骤,在只需最少人力的情况下仍保持模型的性能,有助于避免可能因手动引入的错误
- 不同知识背景的人都能使用机器学习的功能来解决复杂的场景
简而言之,AutoML降低进入机器学习和深度学习的门槛,能够以最小的领域知识或实际数据来应用算法和训练模型,只需很少的努力即可实现最先进的性能。
automl.org
- https://www.automl.org/
- https://www.automl.org/automl/
- https://www.automl.org/automl/auto-sklearn/
- https://www.automl.org/automl/autopytorch/
2 - auto-sklearn
auto-sklearn基于sklearn库,具备专业并强大的模型库和数据/特征预处理库。
熟悉sklearn的开发者很容易切换到Auto-Sklearn。
通常被用于回归和分类任务,计算量较少,因此实现成本较低。
auto-sklearn与常规ML framework的对比
常规 ML framework主要的环节包括 :导入数据---》数据清洗---》特征工程---》分类器--》输出预测值
auto-sklearn增加的部分:
- 自动学习样本数据:meta-learning,学习样本数据,自动推荐合适的模型。
- 自动调超参:贝叶斯优化(Bayesian optimizer)
- 自动模型集成:build-ensemble,模型集成,多个模型组合成一个更强更大的模型,提高预测准确性。
auto-sklearn一些特性
- 支持设置单次训练时间和总体训练时间,使得工具既能限制训练时间,又能充分利用时间和算力。
- 支持切分训练/测试集的方式,也支持使用交叉验证。从而减少了训练模型的代码量和程序的复杂程度。
- 支持加入扩展模型以及扩展预测处理方法。
一些说明:
- 暂不支持深度学习
- 耗时较长,计算时长往往一个小时以上
- 在数据清洗环节,还需要人为参与,目前对非数值型数据不友好
auto-sklearn官网信息
- GitHub:https://github.com/automl/auto-sklearn
- HomePage:https://automl.github.io/auto-sklearn/
- Installation:https://automl.github.io/auto-sklearn/master/installation.html
- Manual:https://automl.github.io/auto-sklearn/master/manual.html
- Examples:https://automl.github.io/auto-sklearn/master/examples/index.html
- APIs:https://automl.github.io/auto-sklearn/master/api.html
- Extending auto-sklearn:https://automl.github.io/auto-sklearn/master/extending.html
3 - H2O简介
H2O是一个开源分布式内存机器学习平台,核心优势在于其紧密集成的高性能ML组件。
其中开源的产品主要包括:H2O、H2O Sparkling Water、H2O4GPU。
H2O
- 开源的分布式内存机器学习平台,具有线性可扩展性。
- 支持最广泛使用的统计和机器学习算法,并且还具有AutoML功能。
- 核心代码是由Java编写的,REST API允许从外部程序或脚本访问H2O的所有功能。
- 包括用于R、Python、Scala、Java、JSON和CoffeeScript / JavaScript的接口,以及内置的Web界面。
H2O Sparkling Water
- Sparkling Water允许用户将快速、可扩展的H2O机器学习算法与Spark的功能相结合。
- Sparkling Water非常适合需要管理大型集群以满足其数据处理需求并希望将数据从Spark传输到H2O(或反向传输数据)的用户。
H2O4GPU
- 开源的GPU加速机器学习包,包含Python和R中的API,允许任何人利用GPU构建高级机器学习模型。
官网信息
- HomePage:https://www.h2o.ai/
- Documentation:https://docs.h2o.ai/
- Download:https://www.h2o.ai/download/
- GitHub:https://github.com/h2oai/
H2O-3
The H2O open source platform works with R, Python, Scala on Hadoop/Yarn, Spark, or your laptop
H2O
- https://www.h2o.ai/products/h2o/
- User Guide:http://docs.h2o.ai/h2o/latest-stable/h2o-docs/index.html
- Welcome:http://docs.h2o.ai/h2o/latest-stable/h2o-docs/welcome.html
- Architecture:http://docs.h2o.ai/h2o/latest-stable/h2o-docs/architecture.html
- Downloading & Installing:http://docs.h2o.ai/h2o/latest-stable/h2o-docs/downloading.html
- Starting:http://docs.h2o.ai/h2o/latest-stable/h2o-docs/starting-h2o.html
- FAQ:http://docs.h2o.ai/h2o/latest-stable/h2o-docs/faq.html
- Changes:https://github.com/h2oai/h2o-3/blob/master/Changes.md
- AutoML:http://docs.h2o.ai/h2o/latest-stable/h2o-docs/automl.html
Quick Start
- Quick Start Videos:http://docs.h2o.ai/h2o/latest-stable/h2o-docs/quick-start-videos.html
- H2O Quick Start with Flow:http://docs.h2o.ai/h2o/latest-stable/h2o-docs/quick-start-videos.html#h2o-quick-start-with-flow
- H2O Quick Start with Python:http://docs.h2o.ai/h2o/latest-stable/h2o-docs/quick-start-videos.html#h2o-quick-start-with-python
H2O Software Stack
Driverless AI
Automatic Machine Learning for the Enterprise. Driverless AI automates feature engineering, model building, visualization and interpretability.
- 企业级机器学习框架、开源的预测引擎,提供了一站式自动建模平台DAI(Driverless AI)。
- 实际上是通过增加一个专有超参数调整和功能工程层 Driverless AI,从而使性能得到提升。
- 商业程序,价格昂贵,目前提供试用期:(Driverless AI 21-Day Free Trial)。
Driverless AI
- https://www.h2o.ai/products/h2o-driverless-ai/
- User Guide:http://docs.h2o.ai/driverless-ai/latest-stable/docs/userguide/index.html
- Installation:http://docs.h2o.ai/driverless-ai/latest-stable/docs/userguide/installing.html