前回行ったこと
前回、前々回の記事では、Aquarium というH2O.aiが提供しているクラウド環境を使って DriverlessAI の起動、学習の実行をしました。
前回、前々回の記事はこちら!
DriverlessAI -MLの自動化ツール- 機械学習の実行!
DriverlessAI -MLの自動化ツール- まずは起動から!
今回は学習後の操作方法を見ていきたいと思います。
こちらの公式チュートリアルを参考にしています。
Time Series Tutorial - Retail Sales Forecasting
モデルの解釈
モデル解釈の準備
学習が終わった画面から開始します。
学習が終わると中央上部分にボタンが沢山並びます。
(黄色のボタンが縦にずらっとならんでいるところです)
作成されたモデルがどのようなものか見ていきます。
上から2つ目の INTERPRET THIS MODEL をクリックします。
クリックするとモデル解釈のための準備を始めます。
MLI (Machine Learning Interpretability) 画面
準備が終了するとしたのような表示に切り替わります。
ここがモデル解釈のページ MLI です。
(このページから前の学習画面などに戻るには、左上の < マークをクリックする必要があります)
モデル全体の精度確認
TIME SERIES MODEL INTERPRETATION と表示されている枠内を見ていきます。
まず一番上に表示されているのが、モデルの精度に関わるグラフです。
横軸が時間、縦軸がR2になっています。
なので、時系列ごとの予測結果精度を表示していると言えます。
R2(決定係数) は実績と予測がどれだけ似ているか (相関があるか) を計算しています。
1に近づく (グラフの上方向にいく) と精度が高いと言えます。
(縦軸は学習の時に選択した指標によって変化します。)
分類ごとでモデル精度を確認
次にもう少し下にスクロールして見てみます。
Top Group Test Metrics や Bottom Group Test Metrics という表記があります。
これらは、予測結果のR2が高い順、低い順で表示されています。
今回は Time Group Column に 部門の Dept, 店舗の Store を指定しているので、この2つの組み合わせで表示されています。
実績値と予測値のグラフ化
最後に一番下を見ると、Group Search(Dept, Store) と書かれた検索ボックスがあります。
ここに任意の部門番号と店舗番号を入れると、その部門、店舗に対応した実績値と予測値がグラフ化されて表示されます。
例えば、部門 : 1 , 店舗 : 1 として検索してみます。
すると、ボックスの下グラフが表示されます。
黄色い線が実績の値、テストデータに対する白い線が予測の値です。
(学習の設定時にテストデータとして選択したものです)
このモデルだと売上をそれなりに予測できているのがわかります。
テストデータの予測結果取得
もちろん、予測結果を見れるのはDriverless AI上だけ、、、ということはありません。
学習画面に戻ります。 (MLIの画面から戻るには左上の < ボタンを))
学習画面に戻ったところで、上から6つめの DOWNLOAD PREDICTIONS をクリックします。
そうすると、右側に TRAINING PREDICTIONS と TEST SET PREDICTIONS の項目が表示されます。
TRAINING PREDICTIONS は学習用に使ったデータに対する予測結果
TEST SET PREDICTIONS はテスト用に設定したデータに対する予測結果をそれぞれダウンロードできます。
(TEST SET PREDICTIONS の結果はMLIで表示したものと同じです)
データセットを選択して予測結果を取得
他にも事前に登録したテストデータ以外にも予測結果を得る方法があります。
上から4つ目の SCORE ON ANOTHER DATASET をクリックします。
DriverlessAIにアップロード済みのデータが表示されます。
(事前にデータのアップロードは必要です。)
予測したいデータを選択すると、結果を出力するファイルに含めるカラムを選択します。
DOWNLOAD PREDICTIONS をクリックするとCSVファイルをダウンロードできます。
ダウンロードした結果がこちらになります。
もともとのデータに Weekly_Sales.predicted のカラムが追加されています。
このカラムが予測結果です。
MLIの機能
今回は時系列データを使った学習を行いましたが、そうでない場合の MLI にはもっと多くの説明可能性に対する指標が表示されます。
こちらが一例です。
こちらの方法についても、今後の記事で書いていこうと思います。