EnableExplanations 運算式 - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

EnableExplanations 運算式

EnableExplanations 參數為JMESPath布林值運算式字串。它針對可解釋性請求的每筆記錄進行評估。如果此參數被評估為 true,則記錄將被解釋。如果此參數被評估為 false,則不會產生解釋。

SageMaker Clarify 會將每筆記錄的模型容器輸出還原序列化為 JSON 相容資料結構,然後使用 EnableExplanations 參數來評估資料。

備註

根據模型容器輸出的格式,記錄有兩個選項。

  • 如果模型容器輸出為 CSV 格式,則會將記錄載入為 JSON 陣列。

  • 如果模型容器輸出為 JSON Lines 格式,則會將記錄載入為 JSON 物件。

EnableExplanations 參數是可以在 InvokeEndpointCreateEndpointConfig 作業期間傳遞的 JMESPath 運算式。如果您提供的 JMESPath 運算式無效,則端點建立將會失敗。如果運算式有效,但運算式評估結果未預期,則會成功建立端點,但在調用端點時會產生錯誤。使用 InvokeEndpoint API 測試 EnableExplanations 運算式,然後將其套用至端點組態。

以下是有效 EnableExplanations 運算式的一些範例。在這些範例中,JMESPath 運算式會使用反引號字元將常值括起來。例如,`true` 表示 true。

運算式 (字串表示) 模型容器輸出 (字串表示) 評估結果 (布林值) 意義

'`true`'

(N/A)

True

無條件啟動線上可解釋性。

'`false`'

(N/A)

False

無條件停用線上可解釋性。

'[1]>`0.5`'

'1,0.6'

True

對於每筆記錄,模型容器輸出其預測的標籤和機率。如果記錄的機率 (索引 1) 大於 0.5,則解釋該記錄。

'機率 >`0.5`'

'{"predicted_label":1,"probability":0.6}'

True

對於每筆記錄,模型容器都會輸出 JSON 資料。如果一筆記錄的機率大於 0.5,則對其進行解釋。

'!contains(probabilities[:-1], max(probabilities))'

'{"probabilities": [0.4, 0.1, 0.4], "labels":["cat","dog","fish"]}'

False

對於多類別模型:如果記錄的預測標籤 (具有最大機率值的類別) 是最後一個類別,則解釋該記錄。從字面上看,該運算式意味著最大機率值不在機率清單中 (除了最後一個)。