モデルの評価！ Driverless AI -MLの自動化ツール-  Part 3

# 前回行ったこと

前回、前々回の記事では、Aquarium というH2O.aiが提供しているクラウド環境を使って DriverlessAI の起動、学習の実行をしました。

前回、前々回の記事はこちら！
[DriverlessAI -MLの自動化ツール- 機械学習の実行！](https://qiita.com/tom_m_m/items/32f79edba6c47b95f3b3)
[DriverlessAI -MLの自動化ツール- まずは起動から！](https://qiita.com/tom_m_m/items/318569bf762c527174ec)

今回は学習後の操作方法を見ていきたいと思います。

こちらの公式チュートリアルを参考にしています。<br>
[Time Series Tutorial - Retail Sales Forecasting](https://h2oai.github.io/tutorials/time-series-recipe-tutorial-retail-sales-forecasting/#0)

# モデルの解釈
## モデル解釈の準備
学習が終わった画面から開始します。

学習が終わると中央上部分にボタンが沢山並びます。
(黄色のボタンが縦にずらっとならんでいるところです)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/d4880f76-7eb1-0fec-c466-7a40dfbb3e0a.png)

作成されたモデルがどのようなものか見ていきます。
上から2つ目の **INTERPRET THIS MODEL** をクリックします。
クリックするとモデル解釈のための準備を始めます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/e357aae7-383b-085b-cb8b-aa307fc23ee8.png)

## MLI (Machine Learning Interpretability) 画面
準備が終了するとしたのような表示に切り替わります。
ここがモデル解釈のページ MLI です。
(このページから前の学習画面などに戻るには、左上の **<** マークをクリックする必要があります)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/47cdb04f-99ba-ea3a-f165-b57491c7249e.png)

## モデル全体の精度確認
**TIME SERIES MODEL INTERPRETATION** と表示されている枠内を見ていきます。
まず一番上に表示されているのが、モデルの精度に関わるグラフです。
横軸が時間、縦軸がR2になっています。
なので、時系列ごとの予測結果精度を表示していると言えます。

R2(決定係数) は実績と予測がどれだけ似ているか (相関があるか) を計算しています。
1に近づく (グラフの上方向にいく) と精度が高いと言えます。
(縦軸は学習の時に選択した指標によって変化します。)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/64e2be63-26e7-c796-66a9-c9bb443a81cd.png)

## 分類ごとでモデル精度を確認
次にもう少し下にスクロールして見てみます。

**Top Group Test Metrics** や **Bottom Group Test Metrics** という表記があります。
これらは、予測結果のR2が高い順、低い順で表示されています。
今回は **Time Group Column** に 部門の **Dept**, 店舗の **Store** を指定しているので、この2つの組み合わせで表示されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/f5b7895e-6523-aed8-95c6-4d13a19def2e.png)

## 実績値と予測値のグラフ化
最後に一番下を見ると、**Group Search(Dept, Store)** と書かれた検索ボックスがあります。
ここに任意の部門番号と店舗番号を入れると、その部門、店舗に対応した実績値と予測値がグラフ化されて表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/b565a5e8-9e61-b15e-377f-43057ad079ad.png)

例えば、部門 : 1 , 店舗 : 1 として検索してみます。
すると、ボックスの下グラフが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/3f57449c-9c45-bfed-7dab-f2ce6f79b90b.png)

黄色い線が実績の値、テストデータに対する白い線が予測の値です。
(学習の設定時にテストデータとして選択したものです)
このモデルだと売上をそれなりに予測できているのがわかります。

## テストデータの予測結果取得
もちろん、予測結果を見れるのはDriverless AI上だけ、、、ということはありません。
学習画面に戻ります。 (MLIの画面から戻るには左上の **<** ボタンを))

学習画面に戻ったところで、上から6つめの **DOWNLOAD PREDICTIONS** をクリックします。
そうすると、右側に **TRAINING PREDICTIONS** と **TEST SET PREDICTIONS** の項目が表示されます。

**TRAINING PREDICTIONS** は学習用に使ったデータに対する予測結果
**TEST SET PREDICTIONS** はテスト用に設定したデータに対する予測結果をそれぞれダウンロードできます。
(**TEST SET PREDICTIONS** の結果はMLIで表示したものと同じです)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/4f140473-01a1-020e-fd76-6d4bcf5b49eb.png)

##データセットを選択して予測結果を取得
他にも事前に登録したテストデータ以外にも予測結果を得る方法があります。
上から4つ目の **SCORE ON ANOTHER DATASET** をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/1e391efe-f00d-37cb-9c11-6a186ac4546b.png)

DriverlessAIにアップロード済みのデータが表示されます。
(事前にデータのアップロードは必要です。)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/620520a7-a4f6-1cb5-cc45-389f9ca0a3a7.png)

予測したいデータを選択すると、結果を出力するファイルに含めるカラムを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/258f60ec-2142-8789-21a8-f4b717e31210.png)

今回は全部チェックしてみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/5a192cc6-5d8d-44b0-f6a7-f805fe3d84ab.png)

**DOWNLOAD PREDICTIONS** をクリックするとCSVファイルをダウンロードできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/16401d8c-1077-bbc8-48f0-198668a9fdf0.png)

ダウンロードした結果がこちらになります。
もともとのデータに **Weekly_Sales.predicted** のカラムが追加されています。
このカラムが予測結果です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/0c3c3596-6d5d-0717-aab2-d0abef6a258d.png)

#MLIの機能

今回は時系列データを使った学習を行いましたが、そうでない場合の **MLI** にはもっと多くの説明可能性に対する指標が表示されます。

こちらが一例です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242652/68007d62-764b-8e11-63cd-d30f287d3e52.png)

こちらの方法についても、今後の記事で書いていこうと思います。