arrow_back

Vertex AI:使用 AutoML 預測貸款風險

登录 加入
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

Vertex AI:使用 AutoML 預測貸款風險

实验 2 个小时 30 分钟 universal_currency_alt 5 积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

總覽

在這個實驗室中,您會使用 Vertex AI,透過表格資料集訓練及提供機器學習模型,以預測貸款風險。

目標

您會瞭解如何執行下列作業:

  • 將資料集上傳至 Vertex AI。
  • 使用 AutoML 訓練機器學習模型。
  • 評估模型成效。
  • 將模型部署到端點。
  • 取得預測結果。

設定

點選「Start Lab」按鈕前的須知事項

注意:請詳閱以下操作說明。

研究室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,讓您瞭解有多少時間可以使用 Google Cloud 資源。

您會在實際雲端環境中完成 Qwiklabs 實作研究室活動,而非模擬或示範環境。為此,我們會提供新的暫時憑證,讓您在研究室活動期間登入及存取 Google Cloud。

需求條件

如要完成這個研究室活動,請先確認:

  • 可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
  • 已充分預留完成研究室的時間。
注意:如果您擁有個人 Google Cloud 或專案,請勿用於本研究室。 注意:如果您使用的是 Pixelbook,請先開啟無痕式視窗再執行本研究室。

如何開始研究室及登入控制台

  1. 按一下「Start Lab」按鈕。如果研究室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。左側面板會顯示必須在這個研究室中使用的暫時憑證。

    「憑證」面板

  2. 複製使用者名稱,然後點選「Open Google Console」。接著,研究室會啟動相關資源並開啟另一個分頁,當中顯示「Choose an account」頁面。

    注意事項:請在不同視窗並排開啟分頁。
  3. 點選「Choose an account」頁面中的「使用其他帳戶」,「Sign in」頁面隨即開啟。

    「Choose an account」對話方塊,特別標明了「使用其他帳戶」選項

  4. 貼上您在「連線詳細資訊」面板中複製的使用者名稱,然後複製並貼上密碼。

注意事項:請務必使用「連線詳細資訊」面板中的憑證,而非 Google Cloud Skills Boost 的憑證。另外,請勿在這個研究室中使用您自己的 Google Cloud 帳戶,以免產生費用。
  1. 按過後續的所有頁面:
  • 接受條款及細則。
  • 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
  • 請勿申請免費試用。

Cloud 控制台稍後會在這個分頁中開啟。

注意事項:點選畫面左上方的導覽選單,即可查看 Google Cloud 產品與服務清單。 Cloud 控制台選單

Vertex AI 簡介

這個實驗室使用 Google Cloud 中的統合式 AI 平台 Vertex AI,訓練及部署機器學習模型。Vertex AI 在單一平台上提供兩種建構機器學習模型的選項:一種是使用 AutoML 的無程式碼解決方案;另一種是使用 Vertex Workbench 自訂訓練,以程式碼為基礎的解決方案。這個實驗室使用的是 AutoML

在這個實驗室中,您會建構一個機器學習模型,以評估特定客戶是否會償還貸款。

工作 1:準備訓練資料

一開始,Vertex AI 資訊主頁會說明訓練及部署機器學習模型的幾個主要階段:準備訓練資料、訓練模型,以及取得預測結果。稍後,資訊主頁會顯示您近期的活動,例如近期的資料集、模型、預測結果、端點,以及筆記本執行個體。

建立資料集

  1. 在 Google Cloud 控制台的「導覽選單」中,依序點選「Vertex AI」>「資料集」
  2. 點選「建立資料集」
  3. 將資料集命名為 LoanRisk
  4. 在資料類型和目標部分,點選「表格」,選取「迴歸/分類」
  5. 點選「建立」

上傳資料

有三種方式可將資料匯入 Vertex AI:

  • 透過電腦上傳 CSV 檔案。
  • 選取 Cloud Storage 中的 CSV 檔案。
  • 選取 BigQuery 中的資料表或 view。

為方便作業,資料集已預先上傳至 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 環境中,您將不會收到電子郵件通知。

如要省去等待模型訓練的時間,您可以在工作 5 中下載預先訓練模型,以便在工作 6 中取得預測結果。這個預先訓練模型是依照工作 1工作 2 的相同步驟,訓練出來的結果。

工作 3:評估模型成效 (僅供示範)

Vertex AI 提供多項模型成效評估指標,您會著重於其中三項指標:

  • 精確度與召回率曲線
  • 混淆矩陣
  • 特徵重要性
注意:如果已有訓練好的模型,可以直接前往 Vertex AI 中的「Model Registry」分頁。

1. 前往「Model Registry」

2. 點選剛剛訓練的模型。

3. 瀏覽「評估」分頁。

不過在這個實驗室中,您可以略過這個步驟,因為您使用的是預先訓練模型。

精確度與召回率曲線

可信度門檻滑桿設為 0.5,以及精確度與召回率曲線、ROC 曲線和不同門檻的精確度與召回度等圖形

可信度門檻會決定機器學習模型如何計算陽性案例數。較高的門檻會提高精確度,但降低召回率。較低的門檻會降低精確度,但提高召回率。

您可以手動調整門檻,觀察對精確度與召回率有何影響,並根據業務需求,找出兩者之間的最佳取捨點。

混淆矩陣

混淆矩陣會告訴您在測試集的「各個類別」中,模型正確預測結果的樣本百分比。

顯示實際標籤和預測標籤分類的混淆矩陣表格

混淆矩陣顯示初始模型能正確預測測試集中 100% 的償還樣本,87% 的預設樣本,成效還不錯。

您可以加入更多樣本 (更多資料)、提供新特徵,以及變更訓練方法等,提高正確預測的百分比。

特徵重要性

在 Vertex AI 中,特徵重要性會透過長條圖顯示,具體呈現各項特徵對預測結果的貢獻度。與特徵相關聯的長條愈長或數值愈大,表示重要性愈高。

貸款、收入和年齡的特徵重要性長條圖

您可以使用這些特徵重要性的值,改善模型及提高預測結果的可信度。您可以選擇在下次訓練模型時,移除重要性最低的特徵,或將兩個重要性較高的特徵合併為一個交錯組合特徵,看看是否能提升模型成效。

特徵重要性只是 Vertex AI 全方位機器學習功能 Explainable AI 的應用範例之一。Explainable AI 是一組工具和架構,可協助您理解及詮釋由機器學習模型產生的預測結果。

工作 4:部署模型 (僅供示範)

注意:由於模型訓練可能需要一個小時才能完成,您目前不會將模型部署到端點。您可以在這裡查看在正式環境中執行的步驟。

現在您已將模型訓練完成,下一步就是在 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:SML 不記名權杖

擷取不記名權杖

如要允許管道進行驗證,以及授權管道呼叫端點來取得預測,您必須提供不記名權杖。

如要取得權杖,請按照下列指示操作。如果在取得不記名權杖時發生問題,可能是無痕式視窗中的 Cookie 所致。在這種情況下,請嘗試在非無痕式視窗中執行下列步驟。

  1. 登入 https://gsp-auth-kjyo252taq-uc.a.run.app/

  2. 請以您的學生電子郵件地址和密碼登入。

  3. 按一下「複製」按鈕之後,系統會將極長的權杖複製到剪貼簿。

bearer-login.png

這組權杖的效期只有約 60 秒,因此複製完成後請盡快進行後續步驟。

如果在取得不記名權杖時發生問題,可能是無痕式視窗中的 Cookie 所致,請嘗試在非無痕式視窗中操作。

工作 6:取得預測結果

在這一節中,您會使用共用的機器學習模型 (SML) 服務,搭配訓練好的現有模型。

環境變數
AUTH_TOKEN 使用上一節中的值
ENDPOINT https://sml-api-vertex-kjyo252taq-uc.a.run.app/vertex/predict/tabular_classification
INPUT_DATA_FILE INPUT-JSON

如要使用訓練好的模型,請建立一些環境變數。

  1. 開啟 Cloud Shell 視窗。

  2. INSERT_SML_BEARER_TOKEN 替換為上一節中的不記名權杖值:

export AUTH_TOKEN="INSERT_SML_BEARER_TOKEN"
  1. 下載實驗室資產:
gcloud storage cp gs://spls/cbl455/cbl455.tar.gz .
  1. 擷取實驗室資產:
tar -xvf cbl455.tar.gz
  1. 建立 ENDPOINT 環境變數:
export ENDPOINT="https://sml-api-vertex-kjyo252taq-uc.a.run.app/vertex/predict/tabular_classification"
  1. 建立 INPUT_DATA_FILE 環境變數:
export INPUT_DATA_FILE="INPUT-JSON" 注意:擷取實驗室資產後,請花一點時間檢查內容。

INPUT-JSON 檔案用於提供 Vertex AI 必需的模型資料。修改這個檔案即可產生自訂預測結果。

smlproxy 應用程式則是用於與後端通訊。

INPUT-JSON 檔案含有下列值:

age ClientID income loan
40.77 997 44964.01 3944.22
  1. 傳送環境變數中指定的參數,測試 SML 服務。

  2. 執行下列指令,對 SML 服務發出要求:

./smlproxy tabular \ -a $AUTH_TOKEN \ -e $ENDPOINT \ -d $INPUT_DATA_FILE

這項查詢應會產生類似下列的回應:

SML Tabular HTTP Response: 2022/01/10 15:04:45 {"model_class":"0","model_score":0.9999981}
  1. 修改 INPUT-JSON 檔案,以測試新情境:
age ClientID income loan
30.00 998 50000.00 20000.00
  1. 編輯 INPUT-JSON 檔案,替換原始值。您可以使用偏好的編輯器 (如 vimnanoemacs) 或 Cloud Shell 程式碼編輯器。

  2. 傳送環境變數中指定的參數,測試 SML 服務。

  3. 執行下列指令,對 SML 服務發出要求:

./smlproxy tabular \ -a $AUTH_TOKEN \ -e $ENDPOINT \ -d $INPUT_DATA_FILE

在這個案例中,假設這個人的收入是 50,000,年齡為 30,貸款金額為 20,000,模型預測結果是,這個人會償還貸款。

這項查詢應會產生類似下列的回應:

SML Tabular HTTP Response: 2022/01/10 15:04:45 {"model_class":"0","model_score":1.0322887E-5}

如果您使用的是 Google Cloud 控制台,下圖展示了如何執行相同的動作:

預測步驟會在相關各節中醒目顯示

恭喜!

您現在可以使用 Vertex AI 執行下列作業:

  • 上傳資料集。
  • 使用 AutoML 訓練模型。
  • 評估模型成效。
  • 將訓練好的 AutoML 模型部署至端點。
  • 取得預測結果。

如要進一步瞭解 Vertex AI 的其他部分,請參閱 Vertex AI 說明文件

關閉研究室

如果您已完成研究室,請按一下「End Lab」(關閉研究室)。Google Cloud Skills Boost 會移除您使用的資源,並清除所用帳戶。

您可以針對研究室的使用體驗評分。請選取合適的星級評等並提供意見,然後按一下「Submit」(提交)

星級評等代表您的滿意程度:

  • 1 星 = 非常不滿意
  • 2 星 = 不滿意
  • 3 星 = 普通
  • 4 星 = 滿意
  • 5 星 = 非常滿意

如果不想提供意見回饋,您可以直接關閉對話方塊。

如有任何想法、建議或指教,請透過「Support」(支援) 分頁提交。

Copyright 2022 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您