arrow_back

Vertex AI: AutoML を使ったローンのリスクの予測

ログイン 参加
700 以上のラボとコースにアクセス

Vertex AI: AutoML を使ったローンのリスクの予測

ラボ 1時間 universal_currency_alt クレジット: 5 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
700 以上のラボとコースにアクセス

概要

このラボでは、Vertex AI を使用して ML モデルをトレーニングおよびサービングし、表形式データセットをもとにローンのリスクを予測します。

目標

次の方法について学びます。

  • Vertex AI にデータセットをアップロードする
  • AutoML で ML モデルをトレーニングする
  • モデルのパフォーマンスを評価する
  • モデルをエンドポイントにデプロイする
  • 予測を取得する

設定

[ラボを開始] ボタンをクリックする前に

こちらの手順をお読みください。ラボの時間は制限されており、一時停止することはできません。[ラボを開始] ボタンをクリックするとタイマーが開始され、Cloud リソースを利用できる時間が表示されます。

この Qwiklabs ハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。一時的な認証情報が新しく提供されるため、ラボ受講中の Google Cloud Platform へのログインおよびアクセスにはその認証情報を使用してください。

前提条件

このラボを完了するには、次のものが必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)。
  • ラボを完了するために必要な時間。

注: すでに個人の GCP アカウントやプロジェクトをお持ちの場合でも、そのアカウントやプロジェクトはラボでは使用しないでください。

ラボを開始してコンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側のパネルには、このラボで使用する必要がある一時的な認証情報が表示されます。

  2. ユーザー名をコピーし、[Google Console を開く] をクリックします。 ラボでリソースが起動し、別のタブで [アカウントの選択] ページが表示されます。

    注: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
  3. [アカウントの選択] ページで [別のアカウントを使用] をクリックします。[ログイン] ページが開きます。

  4. [接続の詳細] パネルでコピーしたユーザー名を貼り付けます。パスワードもコピーして貼り付けます。

注: 認証情報は [接続の詳細] パネルに表示されたものを使用してください。Google Cloud Skills Boost の認証情報は使用しないでください。請求が発生する事態を避けるため、Google Cloud アカウントをお持ちの場合でも、このラボでは使用しないでください。
  1. その後次のように進みます。
  • 利用規約に同意してください。
  • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
  • 無料トライアルには登録しないでください。

しばらくすると、このタブで Cloud コンソールが開きます。

注: 左上にある [ナビゲーション メニュー] をクリックすると、Google Cloud のプロダクトやサービスのリストが含まれるメニューが表示されます。

Vertex AI の概要

このラボでは、ML モデルをトレーニングおよびデプロイするために、Google Cloud の統合型 AI プラットフォームである Vertex AI を使用します。Vertex AI プラットフォームには、ML モデル構築のオプションが 2 つあります。ひとつは AutoML を使ったコード不要のソリューション、もうひとつは Vertex Workbenchカスタム トレーニングを行うコードベースのソリューションです。ここでは AutoML を使用します。

このラボでは、ある顧客のローン返済の可能性を判定するための ML モデルを構築します。

タスク 1. トレーニング データを準備する

Vertex AI ダッシュボードを初めて開くと、ML モデルをトレーニングおよびデプロイするための主な段階(トレーニング データの準備、モデルのトレーニング、予測の取得など)を確認できます。その後ダッシュボードには、最近のアクティビティ(最近使用したデータセット、モデル、予測、エンドポイント、ノートブック インスタンスなど)も表示されるようになります。

データセットを作成する

  1. Google Cloud コンソールのナビゲーション メニューで、[Vertex AI] > [データセット] をクリックします。
  2. [作成] をクリックします。
  3. データセットに「LoanRisk」という名前を付けます。
  4. データタイプと目標には、[表形式] をクリックして [回帰 / 分類] を選択します。
  5. [作成] をクリックします。

データをアップロードする

Vertex AI にデータをインポートするには、3 つのオプションがあります。

  • パソコンから CSV ファイルをアップロード
  • Cloud Storage から CSV ファイルを選択
  • テーブルまたはビューを BigQuery から選択します。

ここでは、すでにデータセットが Cloud Storage にアップロードされています。

  1. データソースとして、[Cloud Storage から CSV ファイルを選択] を選択します。

  2. [インポート ファイルのパス] に、次のように入力します。

spls/cbl455/loan_risk.csv
  1. [続行] をクリックします。
注: このページの設定は、左側のメニューで [データセット] をクリックし、データセットのページでデータセット名を選択することによっても行えます。

(省略可)統計情報を生成する

  1. データセットの各列の記述統計を確認するには、[統計情報を生成] をクリックします。
    特に初回は、統計情報の生成に数分かかる場合があります。

  2. 統計情報が生成されたら、列名をクリックして分析のグラフを表示します。

タスク 2. モデルをトレーニングする

データセットをアップロードしたので、顧客のローン返済の可能性を予測するためのモデルをトレーニングする準備ができました。

  • [新しいモデルのトレーニング] をクリックし、[その他] を選択します。

トレーニング方法

  1. データセットには、すでに「LoanRisk」という名前が付いています。

  2. [目的] で、[分類] を選択します。

ここで回帰ではなく分類を選択するのは、連続する数値ではなく、特定の数値(顧客がローンを返済する場合は 0、債務不履行となる場合 / 返済しない場合は 1 のいずれか)を予測しようとしているためです。

  1. [続行] をクリックします。

モデルの詳細

モデルの名前とターゲット列を指定します。

  1. モデルに名前を付けます(「LoanRisk」など)。

  2. [ターゲット列] で [デフォルト] を選択します。

  3. (省略可)[詳細オプション] を開いて、トレーニング データとテスト用データをどのように割り当てるかを決定し、暗号化方法を指定します。

  4. [続行] をクリックします。

  5. [特徴の追加] で、[続行] をクリックします。

トレーニング オプション

トレーニング モデルに含める列を指定します。たとえば、ClientID はローンのリスクの予測とは無関係であると考えられます。

  1. [ClientID] 列のマイナス記号をクリックしてトレーニング モデルから除外します。

  2. (省略可)[詳細オプション] を開いて、最適化の目標を選択します。
    表形式 AutoML モデルの最適化の目標について詳しくは、表形式の AutoML モデルの最適化目標ガイドをご覧ください。

  3. [続行] をクリックします。

コンピューティングと料金

  1. [予算] はトレーニングに費やすノード時間を表します。ここでは「1」を入力します。
    一般的に、特徴と選択したラベルとの関連性を調べるには、まず 1 コンピューティング時間ほど AutoML モデルをトレーニングするのがよいでしょう。そこから、特徴を変更してさらにトレーニングすることで、モデルのパフォーマンスを向上させることができます。

  2. [早期停止を有効にする] はオンのままにします。

  3. [トレーニングを開始] をクリックします。

トレーニングには、データサイズとトレーニング方法によって数分から数時間ほどかかります。トレーニング ジョブが完了すると通常は Google Cloud からメールが届きますが、Qwiklabs 環境ではメールは届きません。

注: モデルのトレーニングには通常 1 時間ほどかかりますが、この待ち時間を省くために、タスク 5 で事前トレーニング済みモデルをダウンロードします。このモデルは、タスク 1 とタスク 2 で得られるものです。タスク 3 とタスク 4 はデモ専用です。モデルを自分でトレーニングする場合に実行します。

タスク 3. モデルのパフォーマンスを評価する(デモのみ)

Vertex AI には、モデルのパフォーマンスを評価するための指標が多数あります。ここでは次の 3 つに注目します。

  • 適合率と再現率の曲線
  • 混同行列
  • 特徴の重要度
注: モデルをトレーニングした場合は、Vertex AI の [モデル レジストリ] タブで詳細を確認できます。

1. [モデル レジストリ] に移動します。

2. トレーニングしたモデルをクリックします。

3. [評価] タブを確認します。

このラボでは事前トレーニング済みモデルを使用するため、このステップを省略できます。

適合率と再現率の曲線

信頼度のしきい値によって、ML モデルがどのように陽性をカウントするかが決まります。しきい値が大きいと、適合率は高くなり、再現率は低くなります。しきい値が小さいと、適合率は低くなり、再現率は高くなります。

手動でしきい値を調節して適合率と再現率への影響を観察することによって、ビジネスニーズに合った最適なバランスを見つけてください。

混同行列

混同行列により、テスト用データセット内の各クラスにおいてモデルが正しく予測したサンプルの割合がわかります。

この混同行列は、最初のモデルを使って、テストセット内の返済サンプルの 100%、債務不履行サンプルの 87% を正しく予測できたことを示しています。まずまずのパフォーマンスです。

この割合をさらに高めるには、サンプルを追加する(データを増やす)、新しい特徴を作成する、トレーニング方法を変えるといった方法があります。

特徴の重要度

Vertex AI では、特徴の重要度が棒グラフで表示され、これによって各特徴が予測にどのくらい貢献したかがわかります。棒が長いほど、あるいは特徴に関連付けられた数値が大きいほど、重要度が高くなります。

特徴の重要度の値は、モデルを改善し、より自信を持って予測を行えるようにするために活用できます。たとえば、次にモデルをトレーニングする際に最も重要度の低い特徴を削除したり、重要度の高い 2 つの特徴を組み合わせて特徴クロスを作成したりして、モデルのパフォーマンスが高まるかどうかを確認できます。

特徴の重要度は、Vertex AI の包括的な ML 機能である Explainable AI の一例です。Explainable AI は、ML モデルによる予測結果を理解し解釈するためのツールとフレームワークのセットです。

タスク 4. モデルをデプロイする(デモのみ)

注: モデルのトレーニングには 1 時間ほどかかる場合があるため、モデルのエンドポイントへのデプロイは行いません。ここでは、本番環境の場合に行う手順を確認します。

モデルのトレーニングが完了している場合、次のステップは Vertex でのエンドポイントの作成です。Vertex のモデル リソースには複数のエンドポイントを関連付けることができ、これらの間でトラフィックを分割できます。

エンドポイントを作成して定義する

  1. モデルページで、[デプロイとテスト] をクリックし、[エンドポイントにデプロイ] をクリックします。

  2. [エンドポイント名] に、「LoanRisk」と入力します。

  3. [続行] をクリックします。

モデルの設定とモニタリング

  1. トラフィック分割の設定はそのままにします。

  2. [マシンタイプ] で、[e2-standard-8, 8 vCPUs, 32 GiB memory] を選択します。

  3. [説明可能性のオプション] で、[特徴量のアトリビューション] をクリックします。

  4. [完了] をクリックします。

  5. [続行] をクリックします。

  6. [モデルのモニタリング] で、[続行] をクリックします。

  7. [モデルの目標] > [トレーニング データソース] で、[Vertex AI データセット] を選択します。

  8. プルダウン メニューからデータセットを選択します。

  9. [ターゲット列] に、「Default」と入力します。

  10. 残りの設定はそのままにして、[デプロイ] をクリックします。

エンドポイントのデプロイには数分かかります。完了すると、名前の横に緑のチェックマークが表示されます。

これで、デプロイしたモデルの予測を取得する準備が整いました。

タスク 5. 予測の取得

このセクションでは、AutoML-Gateway を使用して既存のトレーニング済みモデルを扱います。

環境変数
Credit_Risk ENDPOINT 1411183591831896064
INPUT_DATA_FILE INPUT-JSON

トレーニング済みモデルを使用するには、環境変数を作成する必要があります。

  1. Cloud Shell ウィンドウを開きます。

  2. ラボのアセットをダウンロードします。

gcloud storage cp gs://cloud-training/CBL455/INPUT-JSON .
  1. 環境変数 INPUT_DATA_FILE を作成します。
export INPUT_DATA_FILE="INPUT-JSON"
  1. 環境変数 PROJECT_NUMBER を作成します。
export PROJECT_NUMBER=$(gcloud projects describe $(gcloud config get-value project) --format="value(projectNumber)")
  1. 環境変数 AUTOML_SERVICE を作成します。
export AUTOML_SERVICE="https://automl-proxy-$PROJECT_NUMBER.us-central1.run.app/v1" 注: ラボのアセットが抽出されたら、内容を確認します。

INPUT-JSON ファイルは、必要なモデルデータを Vertex AI に渡すために使用されます。カスタムの予測を生成するには、このファイルに変更を加えます。

INPUT-JSON ファイルは次の値で構成されています。

{ "instances": [ { "age": 40.77430558, "ClientID": "997", "income": 44964.0106, "loan": 3944.219318 } ] }
  1. 予測を依頼する場合は、以下のコマンドを入力します。
curl -X POST -H "Content-Type: application/json" $AUTOML_SERVICE -d "@${INPUT_DATA_FILE}" -s | jq

予想される出力:

{ "predictions": [ { "scores": [ 0.9999980926513672, 0.000001897001311590429 ], "classes": [ "0", "1" ] } ], "deployedModelId": "3093594712003575808", "model": "projects/1030115194620/locations/us-central1/models/4831874217005809664", "modelDisplayName": "credit_risk_20211119212817", "modelVersionId": "1" }

次のイメージは、Google Cloud コンソールを使用している場合に同じアクションを実行する方法を示しています。

お疲れさまでした

Vertex AI を使って以下のことを行えるようになりました。

  • データセットをアップロードする
  • AutoML でモデルをトレーニングする
  • モデルのパフォーマンスを評価する
  • トレーニングした AutoML モデルをエンドポイントにデプロイする
  • 予測を取得する

Vertex AI のさまざまな部分の詳細については、Vertex AI のドキュメントをご覧ください。

ラボを終了する

ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。

ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。

星の数は、それぞれ次の評価を表します。

  • 星 1 つ = 非常に不満
  • 星 2 つ = 不満
  • 星 3 つ = どちらともいえない
  • 星 4 つ = 満足
  • 星 5 つ = 非常に満足

フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。

フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。

Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。