最好的 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使用文档

为者常成,行者常至