点击「京东数科技术说」可快速关注
「引言」相信很多读者在日常的建模工作中都会或多或少地思考一个问题:建模可不可以被自动化?今天笔者围绕这个问题向大家介绍一个开源的自动建模工具H2O。本文将会cover以下三个部分:
1、H2O工具是什么;
2、基于H2O自动建模的具体流程与实战代码展示;
3、关于自动建模的一些思考。
希望本文能够帮助到大家,尤其是在创业公司或中小型企业的读者,当你们没有足够的算法工程师但又想利用大数据建模提升企业效率的时候,使用自动建模工具也许是一个不错的选择。
H2O简介
H2O.ai是初创公司Oxdata于2014年推出的一个独立开源机器学习平台,它的主要服务对象是数据科学家和数据工程师,主要功能就是为app提供快速的机器学习引擎。目前它在全世界服务超过18,000家企业,服务用户数超过20万。根据H2O官网的介绍,它的主要优点包括:
支持大量的无监督式和监督式机器学习算法
支持通过R与Python进行引入包的方式进行模型的开发
能够提供给用户一个类似于jupyter notebook的UI界面进行“托拉拽”式的模型开发
支持模型的快速部署(用户可以在训练后下载基于Java的POJO和MOJO文件)
支持自动化建模和自动化参数调优
H2O实战练习
大家可以使用在Python或R中引入H2O包的形式进行该工具的使用,也可以下载软件在UI界面进行托拉拽的操作。
一、基于H2O Python包的机器学习实现
首先让我们在Python环境中看看如何使用这个工具进行建模(目前支持Python版本为2.7/3.5/3.6)。
1、下载安装包
首先我们在安装包之前先进行依赖包的安装,最后下载并安装h2o的whl文件,如下(使用H2O之前请读者务必在服务器或本地安装Java):
安装完毕后进入Python环境(我们这里使用的是Jupyter Lab的交互环境,类似Jupyter Notebook)。
2、引入包并查看环境
引入h2o的包后可以查看到目前集群的状态,如下
现在可以看到集群的内存、cores、python版本等信息;另外h2o.ls()命令类似于Linux中的ls命令,它可以告诉我们目前读取到内存的数据集以及训练好的模型Object有哪些,由于还没有引入数据、也没有训练任何模型,因此没有任何object