LoginSignup
2
8

More than 3 years have passed since last update.

H2O試してみた

Last updated at Posted at 2019-12-26

はじめに

以前からオープンソースの機械学習プラットフォームであるH2Oが気になっていたので、試しに使ってみました。データを投入して機械学習モデルを構築するところまでを紹介したいと思います。

環境

環境は次の通りです。H2Oを使うときにjavaを使うのでjavaのバージョンも示しています。

$sw_vers 
ProductName:    Mac OS X
ProductVersion: 10.13.6
BuildVersion:   17G9016

$java --version
java 10.0.2 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)

インストール

1 . 下のURLにアクセスします。
https://www.h2o.ai/download/#h2o

2 . 「DOWNLOAD H2O」ボタンをクリックして、ダウンロードします。今回使用したversion 3.28.0.1だと370MBくらいありました。

Download_page.png

3 . 上図にあるようにunzipしたあとjavaで実行します。


$ls
h2o-3.28.0.1.zip

$unzip h2o-3.28.0.1.zip 
Archive:  h2o-3.28.0.1.zip
   creating: h2o-3.28.0.1/
  inflating: h2o-3.28.0.1/h2o.jar    
   creating: h2o-3.28.0.1/bindings/
   creating: h2o-3.28.0.1/bindings/java/
 extracting: h2o-3.28.0.1/bindings/java/h2o-bindings-3.28.0.zip  
   creating: h2o-3.28.0.1/python/
  inflating: h2o-3.28.0.1/python/h2o-3.28.0.1-py2.py3-none-any.whl  
   creating: h2o-3.28.0.1/R/
  inflating: h2o-3.28.0.1/R/h2o_3.28.0.1.tar.gz  

$ls
h2o-3.28.0.1     h2o-3.28.0.1.zip

$java -jar h2o.jar 
(省略)
12-26 09:29:48.515 10.138.116.160:54321  9516   main      INFO: Registered: 186 REST APIs in: 785ms
12-26 09:29:48.517 10.138.116.160:54321  9516   main      INFO: Registered REST API extensions: [Amazon S3, XGBoost, Algos, AutoML, Core V3, TargetEncoder, Core V4]
12-26 09:29:49.113 10.138.116.160:54321  9516   main      INFO: Registered: 279 schemas in 591ms
12-26 09:29:49.113 10.138.116.160:54321  9516   main      INFO: H2O started in 3884ms
12-26 09:29:49.114 10.138.116.160:54321  9516   main      INFO: 
12-26 09:29:49.114 10.138.116.160:54321  9516   main      INFO: Open H2O Flow in your web browser: http://10.138.116.160:54321
12-26 09:29:49.114 10.138.116.160:54321  9516   main      INFO: 

4 . webブラウザでlocalhost:54321にアクセスするとH2Oの画面が表示されます。

start_page.png

モデル構築

上図の「Assistance」にある「importFiles」をクリック。
「Search」にファイルのパスを入力します。今回はYellowBrickを紹介した記事で扱ったシェアバイクのデータを使います。
その後「import」をクリックし、「Parse these files」をクリックします。

import_page.png

ファイル読み込みの設定をします。この時点でデータの各項目や、最初の数行の内容を見ることができます。行と列が入れ替わっているように表示されます。下部の「Parse」をクリック。

setup_parse_page.png

データの基礎統計が表示されます。typeの「real」は要するにfloatかなと思います。
今回は何もせずに「Build Model」に進みます。

parse_page.png

アルゴリズムの選択や、目的変数を選択します。今回はアルゴリズムにXGBoostを、目的変数にridersを選択します。

build_model_page.png

なお、アルゴリズムは16個用意されていますが、Word2Vecのような自然言語処理で使うものも用意されていました。

model_list_page.png

今回はデータ量が少ないこともあるせいか、1,2分で構築は終了しました。
学習時の収束していく様子や、各評価指標を確認することができます。

model_page.png

model2_page.png

まとめ

プログラミング不要で機械学習モデルを簡単に構築することができました。
モデルの出力もできるので、モデルをデプロイするのも簡単だなと思いました。
今後機会があれば使っていきたいです。

2
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
8