評估 AutoML 預測模型

本頁面說明如何使用模型評估指標,評估 AutoML 預測模型。這些指標會透過量化方式,評估模型在測試集的效能。如何解讀及使用這些指標,取決於您的業務需求及模型接受訓練解決的問題。舉例來說,您對偽陽性的容忍度可能低於偽陰性,反之亦然。以上這類問題會影響您著重的指標。

事前準備

評估模型前,您必須訓練模型,並等待訓練完成。

使用控制台或 API 檢查訓練工作的狀態。

Google Cloud 控制台

  1. 前往 Google Cloud 控制台的「Agent Platform」部分,然後前往「Training」頁面。

    前往「訓練」頁面

  2. 如果訓練工作的狀態為「訓練中」,請繼續等待訓練工作完成。如果訓練工作狀態為「已完成」,即可開始評估模型。

API

選取與語言或環境對應的分頁:

REST

使用任何要求資料之前,請先修改下列項目的值:

  • LOCATION:模型儲存所在的區域。
  • PROJECT: 您的 [專案 ID](/resource-manager/docs/creating-managing-projects#identifiers)。 。
  • TRAINING_PIPELINE_ID:訓練管道的 ID。

HTTP 方法和網址:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines/TRAINING_PIPELINE_ID

如要傳送要求,請選擇以下其中一個選項:

curl

執行下列指令:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines/TRAINING_PIPELINE_ID"

PowerShell

執行下列指令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines/TRAINING_PIPELINE_ID" | Select-Object -Expand Content

您應該會收到如下的 JSON 回覆:

取得評估指標

您可以取得模型的匯總評估指標。以下內容說明如何使用 Google Cloud 控制台或 API 取得這些指標。

Google Cloud 控制台

  1. 前往 Google Cloud 控制台的「Agent Platform」部分,然後前往「Models」頁面。

    前往「模型」頁面

  2. 在「Region」(區域) 下拉式選單中,選取模型所在的區域。

  3. 從模型清單中選取你的模型。

  4. 選取型號的版本號碼。

  5. 在「評估」分頁中,您可以查看模型的匯總評估指標。

API

如要查看匯總模型評估指標,請使用 projects.locations.models.evaluations.get 方法。

選取與語言或環境對應的分頁:

REST

使用任何要求資料之前,請先修改下列項目的值:

  • LOCATION:模型儲存所在的區域。
  • PROJECT: 您的 [專案 ID](/resource-manager/docs/creating-managing-projects#identifiers)。 。
  • MODEL_ID模型資源的 ID。模型訓練成功完成後,訓練管道中會顯示 MODEL_ID。請參閱「事前準備」一節,瞭解如何取得 MODEL_ID

HTTP 方法和網址:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations

如要傳送要求,請選擇以下其中一個選項:

curl

執行下列指令:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations"

PowerShell

執行下列指令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations" | Select-Object -Expand Content

您應該會收到如下的 JSON 回覆:

模型評估指標

架構檔案會決定 Agent Platform 為每個目標提供的評估指標。

您可以從下列 Cloud Storage 位置查看及下載結構定義檔案:
gs://google-cloud-aiplatform/schema/modelevaluation/

預測模型的評估指標如下:

  • MAE:平均絕對誤差 (MAE) 是目標值與預測值之間的平均絕對差異。這項指標的範圍從零到無限大,值越低代表模型品質越好。
  • MAPE:平均絕對百分比誤差 (MAPE) 是標籤和預測值之間的平均絕對百分比差異。這項指標的範圍介於零到無限大之間,值越小代表模型品質越好。
    如果目標資料欄包含任何 0 值,系統就不會顯示 MAPE。在此情況下,MAPE 未定義。
  • RMSE:均方根誤差是目標與預測值之間均方差的平方根。RMSE 對離群值比 MAE 更敏感,所以如果您擔心大型誤差,RMSE 可作為更實用的評估指標。RMSE 和 MAE 一樣,值越小代表模型品質越高 (0 代表完美預測因子)。
  • RMSLE:均方根對數誤差指標與均方根誤差類似,但會使用預測值和實際值的自然對數加 1。相較於過度推斷,均方根對數誤差對推斷不足的懲罰較重。如果不想因大型推論值差異而受到比小型推論值差異更重的處罰,這也是不錯的指標。這項指標的範圍從零到無限大,值越低代表模型品質越高。只有在所有標籤和預測值皆為非負數時,系統才會傳回 RMSLE 評估指標。
  • r^2:r 平方 (r^2) 是標籤與預測值之間的皮爾森相關係數平方,這項指標的範圍介於 0 到 1 之間。值越高,表示越接近迴歸線。
  • 分位數:百分比分位數,表示觀察值低於預測值的機率。舉例來說,在 0.2 分位數,觀察到的值應有 20% 的時間低於預測值。如果您為最佳化目標指定 minimize-quantile-loss,Agent Platform 就會提供這項指標。
  • 觀察到的分位數:顯示實際值低於特定分位數預測值的百分比。如果您為最佳化目標指定 minimize-quantile-loss,Agent Platform 就會提供這項指標。
  • 縮放的釘球損失:特定分位數的縮放釘球損失。 值越低代表模型在指定分位數的品質越高。如果您為最佳化目標指定 minimize-quantile-loss,Agent Platform 就會提供這項指標。
  • 模型特徵歸因: Agent Platform 會顯示各項特徵對模型的影響程度。系統會為每個特徵提供百分比值,百分比越高,代表該特徵對模型訓練的影響越大。請檢閱這項資訊,確保所有最重要的特徵對您的資料和業務問題具有合理意義。詳情請參閱「預測功能中的特徵歸因」。

後續步驟