最好的 AutoML 开源平台-H2O-3
H2O-3是目前使机器学习AutoML最好的开源平台。其完整的范围和基于 H2O 流的网络界面使其成为开源解决方案的首选。我们能够在没有一行代码的情况下从头到尾构建一个机器学习项目。
一、AutoML给我们带来了什么?
AutoML 解决方案可以针对机器学习过程的不同阶段。并不是所有的方法都适用于同一范围。以下是可以自动化的步骤:
- 数据准备
- 数据列的类型识别,例如,布尔,离散数字,连续数字,或文本
- 任务检测; 例如二元分类, 回归, 或聚类
- 特性化处理
- 特性工程、特征提取、特征选择
- 元学习 、迁移学习
- 有偏数据处理、缺失值的检测和处理;不平衡数据的处理
- 模型选择、超参数优化
- 时间、内存和复杂性约束下的处理流程(Pipeline)的选择
- 评价指标和验证流程的选择
- 数据泄漏检测、错误配置检测
- 可解释性、对所得结果的分析
- 部署
二、AutoML解决方案的比较
开源 vs 企业
AutoML 的开源和企业解决方案非常不同: 大部分开源解决方案只能自动化算法选择和超参数调整,而企业解决方案可以做得更多(参见“我们能从 AutoML 工具中期待什么”一节)。
H2O Driverless AI
- 它可以从任何数据源中摄取数据,包括 Hadoop,Snowflake,S3 object storage,Google BigQuery 等。
- 自动可视化绘图、图形和图表,以帮助理解数据形状、异常值、缺失值等。数据科学家能够快速发现数据中的偏差之类的东西的地方。在某种程度上,自动可视化有助于启动 EDA 过程。
- 机器学习的可解释性使我们了解什么样的模型被生成,以及哪些特征被用来建立模型。Driverless AI的模型的每一个预测都可以向企业用户解释,因此该系统甚至对于受监管的行业也是可行的。
- 可以为表格数据、文本、图像、视频和时间序列数据创建世界级的模型。
- 自动化文档为整个特性工程过程提供了深入的解释。
- 整个过程是通过一个图形用户界面数据库来完成的,这使得即使是一个数据科学家新手也很容易立即就能有所作为。
- 高度可定制: 可以上传自己的模型,Transformers和Scorers。
- 能够在不丧失影响优化的能力的情况下充分利用自动化的好处。
Google Cloud AutoML
- Google AutoML 由几个产品组成: AutoML Natural Language, AutoML Tables, AutoML Video Intelligence, and AutoML Vision。最近,谷歌发布了Vertex AI 它将所有的 AutoML 产品和 Google 的其他 AI 产品统一在一个统一的 API、客户端库和用户界面中。
- 可配置性不如H2O Driverless AI
- 模型可视化的缺失导致很难进行模型的迭代
H2O-3
- 开源版本的 H2O。
- 内存中,分布式,快速,可扩展的机器学习和预测分析平台,允许您在企业环境中建立基于大数据的机器学习模型并快速生产化。
- 它使开发变得更容易和更快,即使对于新手也是如此。
- 支持最广泛使用的统计和机器学习算法,包括梯度增强机器,广义线性模型,深度学习等。
- 行业领先的AutoML功能,可以自动运行所有的算法和它们的超参数,生成最佳模型的排行榜。与其他开源 AutoML 解决方案相比,它具有高度的可配置性。
- 包含模型可解释性接口,使用一个函数就可以生成了多个可解释性的方法并进行可视化。
- H2O Flow是 H2O-3中的一个附加用户界面,您可以随意使用。它是一个基于 web 的交互式环境,允许您将代码执行、文本、数学、图表和富媒体组合到一个文档中,类似于 iPython Notebooks。这个直观的界面允许你建立你的机器学习模型,而不需要一行代码。这消除了熟悉 H2O SDK 的需求,并允许任何人构建机器学习模型。
H2O-3是目前使机器学习AutoML最好的开源平台。其完整的范围和基于 H2O 流的网络界面使其成为开源解决方案的首选。我们能够在没有一行代码的情况下从头到尾构建一个机器学习项目。
长期来看,AutoML并不能取代数据科学家,但AutoML的出现在很多时候可以极大的提高模型生产的效率,尤其在初期探索的阶段。
三、实战
下载安装,支持多种语言及K8S部署:https://h2o-release.s3.amazonaws.com/h2o/rel-zipf/7/index.html
python 安装
conda install -c h2oai h2o
(1)、Java环境配置
因为该项目依赖JAVA环境,所以,需要安装JRE。
1、下载java安装包
下载 jdk-8u211-linux-x64.tar.gz
到 /opt/downloads/
2、解压缩
然后解压到目录 /opt/modules
中,解压命令如下:
$ tar -zxvf jdk-8u211-linux-x64.tar.gz -C /opt/modules/
(2)、配置JDK环境变量
执行以下命令,修改文件 /etc/profile
,配置JDK系统环境变量:
$ sudo vi /etc/profile
在文件末尾加入以下内容:
#JAVA_HOME
export JAVA_HOME=/opt/modules/jdk1.8.0_211
export PATH=$PATH:$JAVA_HOME/bin
执行以下命令,刷新 profile 文件,使修改生效:
$ source /etc/profile
执行 java -version
命令,若能成功输出以下JDK版本信息,说明安装成功:
[root@centos01 modules]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
(3)、h2o启动
在服务器创建启动脚本,然后启动:start.py
[root@quant h2o]# cat start.py
import h2o
h2o.init(ip="localhost", port=54323)
运行:
python start.py
相关文章:
Quant值得拥有的AutoML框架
H2O-3下载
H2O使用文档
为者常成,行者常至
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)