学習の実行！Driverless AI -MLの自動化ツール-  Part 2

# 前回行ったこと

前回の記事では、Aquarium というH2O.ai社が提供しているクラウド環境を使って Driverless AI を起動してみました。
[DriverlessAI -MLの自動化ツール- まずは起動から！](https://qiita.com/tom_m_m/items/318569bf762c527174ec)

今回は、起動した Driverless AI のインスタンスに初期状態で登録されているデータを使って機械学習行ってみようと思います。
こちらの公式チュートリアルを参考にしています。
[Time Series Tutorial - Retail Sales Forecasting](https://h2oai.github.io/tutorials/time-series-recipe-tutorial-retail-sales-forecasting/#0)

## Driverless AI 起動 & データ確認

まずは Driverless AI の起動画面から。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/63d42d5a-0d00-0ba5-ccc3-e213bec248c1.png)
起動時は **Datasets** ページが表示されるようになっています。
ここはデータセットの置き場所で、CSV形式のファイルを扱うことができます。
アップロード済みのデータをクリックすると、それぞれのデータに対するアクションを選択できます。
![スクリーンショット 2019-07-24 11.39.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/5f49ce27-1514-367a-3cf5-ae75f429209e.png)

今回は事前に用意されているデータを使います。
初期段階でアップロードされているデータは以下の2つ

1.  walmart_tss_small_train.csv
2.  walmart_tss_small_test.csv

2つともWalmartの売上データです。
1つ目が学習用のデータ、2つ目がテスト用のデータです。

中身はこんな感じで。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/40faabcb-39dc-e779-3d8f-47efa05c976d.png)

|Store|Dept|Date|Weekly Sales|MarkDown1|…|MarkDown5|IsHoliday|sample_weight|
|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|
|店舗番号|部門|日付|週毎の売上||値下げ||休日||

MarkDown は全て値下げに関連するデータです。
マスクされてしまっているので、中身はわかりません。
sample_weight はH2Oが独自に追加しているようです。
Driverless AIの機能で重み付けをするカラムを指定できるので、そこで指定します。

元データはこちらから
[Walmart Recruiting - Store Sales Forecasting](https://www.kaggle.com/c/walmart-recruiting-store-sales-forecasting/data)

## 学習開始

学習用データの一番右端にある **Click for Actions** をクリックすると、データに対して実行できるアクションが選択できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/5c3244b9-6aba-9c52-3d53-84715f3d319e.png)

学習を始める時は、アクションの中の **PREDICT** を選択。

Driverless AI のツアーしますよ！ と表示されますが、今回はチュートリアルを見ているので NO を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/13b3e583-8be9-d8ef-4562-83a96f2e8510.png)

学習を始めるために、予測したいカラムや時系列を表すカラムを設定します。
設定画面はこんな感じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/c757746e-ab48-0d11-9a1b-bdb754203fdb.png)
学習用に指定したデータセットの名前や設定用のボタンがいくつか用意されています。

**Select target column** が点滅しているのでそこをクリックします。
すると、カラム名の一覧が表示されます。
ここでは、予測対象のカラムを設定します。
今回は週毎の売上数量を予測したいので、 **Weekly_Sales** を選択します。

ターゲットカラムの表示が Weekly_Sales に変わりました。
設定と同時に表示もいくつか増えました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/0fcffbd2-b00b-29b7-7dd7-93ac64884af7.png)

今回は、時系列データを扱った機械学習を行います。
なので、**TIME COLUMN** を設定します。
先程、ターゲットカラムを設定した右下に **[OFF]** になっている項目があります。
ここをクリックするとターゲットを選択したときのようにカラム名の一覧が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/ee930db8-8c78-8c19-04b4-23662b96e23d.png)
このデータでは **Date** が日付データになっているのでこのカラムを選択します。

次は、重みをつけるカラムを選択します。
このカラムは H2O.ai社で付け加えられたカラムのようです。 (元データには存在しなかった)
なので、何に対する重みかはわかりませんでした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/aeee80d0-5050-cb89-fb21-011c8c41bad9.png)

ターゲットカラムの下に表示されている **WEIGHT COLUMN** の **➖➖** をクリックするとカラム一覧が表示されます。
今回は **sample_weihgt** を指定しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/bbf59a36-d2d2-3fef-b544-7432aa0fd57f.png)

次に、**TIME GLOUP COLUMN** を設定します。
一番右のスペースの一番上に表示されている **AUTO** をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/694809ea-8b39-5921-1240-61baf7e13282.png)

**Store** と **Dept** を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/9a7967be-47b6-dbcc-38a5-841953b887ef.png)

**TIME GLOUP COLUMN** を設定したところから少し左を見ると **TEST DATASET** の項目があります。
テスト用のデータ (walmart_tts_small_test.csv) をここ設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/5197eb8d-1829-17bf-fb7d-98a2b5a9d858.png)

中央部の下にある **SCORER** の設定を変更します。
今回は、**R2** を指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/99ec25b6-1480-c652-8d62-e3d1cf358a8d.png)

標準の状態だと、2時間以内に終わらない可能性もあるので、精度と時間を少しだけ下げます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/e60d23eb-ab5e-3cc6-a391-53627201bc8e.png)

あとは **LAUNCH EXPERIMENT** をクリックするだけです！

学習が進んでいくとこんな感じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/988ef4f1-a0c5-bbd7-2285-be636b4edb9e.png)

学習が終了しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/375d5f9f-1cf2-4313-a30c-14c79a9d5c9a.png)

次回は、モデルの確認やテストデータに対する予測について見ていこうと思います。

今回の内容と同じように時系列データを扱った動画がありました！
[AI予測分析ツール「Driverless AI」商品需要予測を自動で最適化](https://www.youtube.com/watch?v=jtBksxf409g)

こちらを見るとわかりやすいかと思います。
使っているデータは違いますが、操作方法はほとんど同じです。