Google CloudVertexAI 

VertexAIのAutoMLを使ってみて、LightGBMと比較してみた

DATUM STUDIOの泉岡です。

VertexAIに搭載されているAutoMLを用いることにより、データサイエンスやプログラミングの知識が不要で、操作さえわかってしまえば誰でも簡単に予測モデルを構築することが出来ます。
本記事では、実際にAutoMLを用いた場合と手動で実装した予測モデルの比較を紹介します。

今回はHotel booking demandのデータを用いてホテルのキャンセル予測を実施します。

AutoMLによる学習と予測

ここでは実際のUIを見ながらAutoMLを実行させます。

VertexAI ダッシュボード画面

まず左上のナビゲーションメニューから「Vertex AI」→「ダッシュボード」の順で押下します。

Vertex AIのダッシュボード画面に遷移します。

学習データの準備

データは以下3つの方法で準備することが可能です。

1.BiqQueryからビューもしくはテーブルを選択する
2.CloudStrageに格納されているデータを用いる
3.ローカルマシン上のcsvをアップロードする(アップロードしたデータはCloudStrageに格納されます)

今回は事前にCloudStrageにアップロードされたファイルを利用します。
先ほどのダッシュボード画面から「データセットを作成」を押下し以下の画面へ移動します。

データセット名、データタイプを入力し、「作成」を押下します。

今回はCloudStrageからファイルを選択するので当該ファイルのパスを指定し、「続行」を押下します。

データセットが作成されました。「新しいモデルをトレーニング」を押下し、学習モデルの作成へと進みましょう。

モデルのトレーニング

分類(Classification)か回帰(Regression)の選択をしたら「続行」を押下します。

モデルの名前、目的変数を設定し「続行」を押下します。

必要な説明変数を選択します。データリーケージにつながりそうな変数がある場合はここで取り除きます。

学習に費やすノード時間の最大値を入力します。
今回学習に用いたデータセットの行数はおよそ8万行ですので1と設定しました。

およそ2時間強で学習が終わりました。モデルの名前を押下することにより結果を確認することができます。

各分類指標のスコアを確認することができます。
ROC-AUCを見ると0.956であり、良い精度で学習できていることがわかります。

特徴重要度は以下となり、Shaplay値を用いて算出しているとのことです。

バッチ予測

このモデルを用いて新たに発生したデータに対してバッチ予測を実施することも可能です。
今回は元のデータから分割したデータを未知のデータと想定してバッチ予測を実施します。
予測モデル結果の画面から「バッチ予測」タブを押下すると以下のページへ遷移します。

「CREATE BATCH PREDICTION」を押下します。

バッチ予測名、予測対象データ、出力形式と出力先を入力し「作成」を押下するとバッチ予測が実行されます。

予測は30分程度で完了します。
バッチ予測名を押下すると詳細画面に遷移し、遷移先ページから予測ファイルへアクセスすることが可能です。

予測結果を出力し、こちらの手元でスコアを計算した結果、ROC-AUCで0.953という結果が得られました。
学習時からスコアのブレも少なく、汎化性能を担保できていると言えるでしょう。

LightGBMを用いた学習と予測

今回、手動で実装する機械学習モデルはLightGBMを用います。
以下の学習条件でモデルを構築します。

・5Fold CV
・特徴抽出なし

パラメータは以下を使用しています。

‘learning_rate’: 0.1,
‘objective’: ‘binary’,
‘metric’: ‘auc’,
‘max_depth’: -1,
‘num_leaves’: 100,
‘min_data_in_leaf’: 20,
‘bagging_freq’: 0,
‘bagging_fraction’: 1.0,
‘feature_fraction’: 1.0,
‘random_state’: 42,
‘verbosity’: -1

今回のデータではnum_leaves以外はデフォルト値が最も良いスコアが得られました。
学習時間は1分弱で、ROC-AUCスコアは0.960、同じデータを予測させた際のスコアはROC-AUCで0.961となりました。

LightGBM自体の学習時間は1分弱ではありますが、実装やパラメータチューニング等にも時間がかかっているので、実装開始から出力までの時間は1時間程度消費しています。
また、Shaplay値を用いた特徴重要度は以下となり、AutoMLのモデルと比較して、予測に影響を与えた特徴が異なることが見受けられます。

まとめ

AutoMLを用いたものとLightGBMを用いたものでは僅かにLightGBMが良い結果となりました。
今回のデータでは LightGBMが良い結果とはなりましたが、僅差であることから実装コストや手動でチューニングする煩雑さ、バリデーション設計などの時間を考慮するとAutoMLの簡易でかつ高精度な予測が出来る点は非常にメリットであると感じました。

このページをシェアする:



DATUM STUDIOは、クライアントの事業成長と経営課題解決を最適な形でサポートする、データ・ビジネスパートナーです。
データ分析の分野でお客様に最適なソリューションをご提供します。まずはご相談ください。