首頁 > 科技週邊 > 人工智慧 > ML和AI模型解釋性和解釋性

ML和AI模型解釋性和解釋性

Joseph Gordon-Levitt
發布: 2025-03-09 13:17:10
原創
805 人瀏覽過

在本文中,我們深入研究了機器學習和人工智能模型的解釋性和解釋性的概念。我們探討了為什麼了解模型如何做出預測至關重要,尤其是當這些技術用於醫療保健,金融和法律體係等關鍵領域時。通過Lime和Shap等工具,我們演示瞭如何獲得對模型決策過程的見解,從而使復雜的模型更加透明。本文強調了解釋性和可解釋性之間的差異,並解釋了這些概念如何有助於建立對AI系統的信任,同時還應對其挑戰和局限性。

學習目標

了解機器學習中的模型可解釋性和可解釋性之間的區別
    了解石灰和塑造工具如何增強模型透明度和決策見解。
  • 探索解釋性和可解釋性在建立AI系統中的信任中的重要性。
  • 了解如何簡化複雜的模型,以更好地理解而不損害性能。
  • 確定與AI模型可解釋性和可解釋性相關的挑戰和局限性。
  • >目錄的表
  • >
  • >可解釋性和可解釋性意味著什麼,為什麼它們在ML和AI?

>中的好處是改善模型的可解釋性和可解釋性
  • 流行的ML的可解釋性和解釋性和解釋性
  • >在復雜模型中如何內置的解釋性和可解釋性在
  • 中如何起作用,石灰模型模型模型的決策如何起作用,以及如何解釋其解釋的解釋?
  • 如何訪問lime擾動的數據擾動數據?形狀說明?
  • 如何實現和解釋複雜XGBR模型的摘要圖?
  • >如何實現和解釋複雜XGBR模型的形狀依賴圖?模型解釋性
  • >結論

常見問題

解釋性和解釋性是什麼意思,為什麼它們在ML和AI中至關重要?

解釋性是回答模型決策背後的原因的過程。例如,我們可以說ML和AI模型在可以通過解釋模型如何在樹中拆分公共節點並解釋其分開的邏輯來提供模型的決策的解釋和推理時具有解釋性。另一方面,可解釋性是將模型的解釋和決策轉換給非技術用戶的過程。它可以幫助數據科學家了解諸如權重和係數之類的事物,從而有助於模型預測,並幫助非技術用戶了解該模型如何做出決策以及模型對做出這些預測的重要性。 隨著AI和ML模型越來越複雜,具有數百個模型層以及數千至數十億到數十億到數十億到數十億的參數,例如在LLM和深度學習模型中,我們很難理解該模型的整體和本地觀察水平的決策。模型解釋性為模型內部運作的見解和推理提供了解釋。因此,數據科學家和AI專家必須將解釋性技術利用到其模型構建過程中,這也將提高模型的解釋性。

提高模型的解釋性和可解釋性的好處

>下面我們將研究模型的解釋性和解釋性的好處:>

改進的信任

>信任是一個具有廣泛含義的詞。這是對某人或某物的可靠性,誠實或正直的信心。

>

>信任與人以及非生命的事物相關聯。例如,依靠朋友的決策或依靠全自動駕駛汽車將您從一個地方運送到另一個地方。缺乏透明度和溝通也可能導致信任的侵蝕。同樣,信任是通過小步驟和重複積極互動來建立的。當我們與某人或事物保持積極的互動時,它會增強我們對他們的可靠性,積極意圖和無害性的信念。因此,信任是通過我們的經驗隨著時間的推移而建立的。

>,它對我們依靠ML&AI模型及其預測起著重要作用。

>

提高透明度和協作

>當我們可以解釋機器或深度學習模型的內部運作,其決策過程以及規則和選擇背後的直覺時,我們可以建立信任和問責制。它還有助於改善與利益相關者和合作夥伴的協作和參與。

>

改進的故障排除

>當某事斷裂或無法按預期工作時,我們需要找到問題的根源。為此,對系統或模型的內部工作的透明度至關重要。它有助於診斷問題並採取有效的措施來解決問題。例如,考慮一個預測該人“ B”的模型,不應批准貸款。要理解這一點,我們必須檢查模型的預測和決策。這包括確定“ B”觀察人員優先級的模型的因素。 在這種情況下,模型的解釋性將非常方便地研究模型的預測和與人相關的決策”。同樣,在更深入地研究模型的內部運作時,我們可能會很快發現一些可能影響和影響模型決策的偏見。

因此,使用ML和AI模型具有解釋性並利用它們將使故障排除,監視和持續改進有效,並有助於識別和減輕偏見以及錯誤以提高模型性能。

> ML的流行業務用例,AI解釋性和解釋性

>我們始終對該模型的總體預測能力感興趣,以影響和做出數據驅動的知情決策。在銀行和金融,零售,醫療保健,互聯網等各種行業中,ML和AI模型有許多應用程序。商業,保險,汽車,製造,教育,電信,旅行,空間等

以下是一些示例:

>

銀行和金融

對於銀行和金融行業來說,識別合適的客戶以提供貸款或發行信用卡很重要。他們也有興趣防止欺詐性交易。此外,這個行業受到了高度監管。

要進行這些內部流程,例如申請批准和欺詐監控的有效,銀行和財務槓桿ML和AI建模,以協助這些重要的決定。他們利用ML和AI模型根據某些給定和已知因素來預測結果。 通常,這些機構中的大多數不斷監視交易和數據以檢測模式,趨勢和異常。對他們而言,重要的是有能力了解他們處理的每個應用程序的ML和AI模型預測。他們有興趣了解模型預測背後的推理以及在做出預測中發揮重要作用的因素。

>現在,假設ML模型預測貸款申請將被拒絕對其一些信用評分高的客戶拒絕,這似乎並不常見。在這種情況下,他們可以利用模型解釋進行風險分析,並就模型決定拒絕客戶應用的原因而獲得更深入的見解,而哪些客戶因素在此決策中起著重要作用。這一發現可能有助於他們檢測,調查和減輕模型決策中的問題,漏洞和新偏見,並有助於提高模型績效。

醫療保健

如今,在醫療保健行業中,ML/AI模型被利用以根據病史,實驗室,生活方式,遺傳學等來預測患者的健康結果。

假設醫療機構使用ML/AI模型來預測患者治療的患者是否具有癌症者的可能性很高。由於這些問題涉及一個人的生活,因此AI/ML模型有望以很高的準確性來預測結果。 在這種情況下,

有能力深入研究模型的預測,利用的決策規則,並理解影響預測的因素變得很重要。醫療保健專業團隊將進行盡職調查,並期望ML/AI模型的透明度提供與預測的患者結果和促成因素有關的清晰詳細的解釋。這是ML/AI模型解釋性變得必不可少的地方。 此審問有時可能有助於發現模型決策中一些隱藏的漏洞和依據,並可以解決以改善未來的模型預測。

自動駕駛汽車

自動駕駛汽車是自動操作的車輛,例如汽車,貨車,火車,飛機,飛機,飛船等。在此類車輛中,AI和ML型號在使這些車輛能夠獨立運行而無需人工干預的情況下獨立運行。這些模型是使用機器學習和計算機視覺模型構建的。它們使自動駕駛汽車/車輛能夠感知周圍環境中的信息,做出明智的決定並安全地導航。

>在旨在在道路上操作的自動駕駛汽車,導航意味著實時自主指導車輛,即不需要人類干預即通過關鍵任務,例如檢測和識別物體,識別交通信號和標誌,預測對象行為,預測對象行為,維護車道,維持和計劃途徑,並採取適當的態度,並採取適當的決定,>零售

In the Retail industry, AI and ML models are used to guide various decisions such as product sales, inventory management, marketing, customer support and experience, etc. Having explainability with the ML and AI facilitates understanding of the model predictions, and a deeper look into issues related to predictions such as types of products not generating sales, or what will be the sales predictions for a particular store or outlet next month, or which products would have high demand, and needs to be stocked, or what marketing廣告系列對銷售等有積極的影響。

> 在上述業務用例中,我們可以清楚地看到,對於ML和AI模型,對整個模型以及個人預測具有指導業務決策並提高業務運營有效的個人預測非常重要。

>>>>>>>>>>>

>一些複雜的模型帶有內置的解釋性,而某些模型則依靠外部工具為此。如今,有幾種可用的模型無關工具可以幫助我們添加模型解釋性。我們將更深入地研究可用的兩個此類工具。

>

>改善ML和AI模型的工具解釋性和解釋性

> 任何提供與模型決策過程以及模型預測中功能貢獻有關的信息的工具均非常有幫助。通過可視化可以使解釋更加直觀。

>

在本文中,我們將更深入地研究添加ML和AI模型的兩種外部工具的解釋性和可解釋性:

石灰(局部解釋模型 - 敏捷的解釋)

  • shap(外形添加說明)
  • >
  • 石灰是模型不可知論,這意味著可以通過任何機器學習和深度學習模型來實現它。它可以與機器學習模型(例如線性和邏輯回歸,決策樹,隨機森林,Xgboost,knn,Elasticnet等)一起使用。

    >在假設可以使用一個簡單的可解釋模型來解釋複雜模型的內部工作原理的假設。簡單的可解釋模型可以是簡單的線性回歸模型或決策樹模型。在這裡,我們利用一個簡單的線性回歸模型作為一種可解釋的模型來使用石灰/塑形說明為複雜模型生成解釋。

    石灰也稱為local可解釋的模型敏捷的解釋,一次在單個觀察結果上本地在本地進行了解釋,並有助於我們了解該模型如何預測該觀察結果的得分。它通過使用原始觀測值的特徵的擾動值創建合成數據來起作用。

    什麼是擾動數據及其如何創建?

    >

    為為表格數據創建擾動的數據集,Lime首先採用觀察中的所有功能,然後通過使用各種轉換來稍微修改特徵值來迭代為觀察創建新值。擾動的值非常接近原始觀察值,並且從鄰域更靠近原始值。 > 對於文本和圖像數據類型,lime迭代通過隨機從原始數據集中選擇功能並創建新的擾動值,從該功能的功能創建新的擾動值,從而創建數據集。石灰內核寬度控制數據點鄰域的大小。

    較小的內核大小意味著鄰域很小,最接近原始值的點將顯著影響解釋,而對於較大的內核大小,遙遠的點可能會導致石灰解釋。

    更廣泛的鄰里大小將導致更精確的解釋,但可以幫助發現數據中的一些更廣泛的趨勢。有關更精確的本地解釋,應優先考慮小社區尺寸。 >

    理解圖

    通過下面的圖(圖1),我們試圖對擾動的值,內核大小和鄰域進行一些直覺。

    。 在討論中,我們使用了BigMart數據集中的數據示例,這是一個回歸問題。我們利用了石灰的表格數據。

    >

    >從BigMart數據集考慮觀察#0。該觀察值具有13值的特徵“ item_type”。我們計算了此功能的平均值和標準偏差,我們的平均值為7.234,標準偏差等於4.22。這在上圖中顯示。然後,我們計算出等於1.366的z得分。

    > z得分左側的區域為我們提供了將低於x的特徵的值%。對於1.366的Z分數,該功能的值約為91.40%,該功能將低於x = 13。因此,我們得到一個直覺,即對於此功能,內核寬度必須低於x = 13。而且,內核寬度將有助於控制鄰里的擾動數據的大小。 圖2下面的

    顯示了BigMart數據集中的三個原始測試數據點,我們認為這些數據點是為了獲得石灰過程的直覺。 XGBoost是一個複雜的模型,用於在原始觀測值實例上生成預測。

    > 在本文中,我們將使用BigMart預處理和編碼數據集中的前3個記錄來提供示例和解釋以支持討論。

    石灰距離公式ML和AI模型解釋性和解釋性 內部使用原始數據點和附近點之間的距離,並使用歐幾里得距離計算距離。假設點x = 13具有坐標(x1,y1),而鄰域中的另一個點具有坐標(x2,y2),使用以下方程式計算這兩個點之間的歐幾里得距離:

    下圖(圖4)顯示了藍色的擾動數據點和原始值作為紅色數據點。距原始數據點較短距離的擾動數據點將對石灰解釋更具影響力。

    ML和AI模型解釋性和解釋性

    上面的方程式考慮2d。可以為具有n個尺寸數的數據點得出類似的方程。

    >

    內核寬度有助於石灰確定為特徵選擇擾動值的鄰域的大小。隨著值或數據點偏離原始值,它們在預測模型結果方面的影響就會降低。 ML和AI模型解釋性和解釋性> 下圖(圖6)顯示了擾動的特徵值,以及它們與原始值的相似性得分以及使用XGBoost模型的擾動實例預測,圖(圖5)顯示了黑匣子可解釋的簡單模型(線性回歸)的信息。

    >內置的解釋性和解釋性如何在復雜模型中起作用ML和AI模型解釋性和解釋性

    複雜模型,例如XGBoost,Random Forest等。具有基本的內置模型解釋性特徵。 XGBoost模型在全球層面提供了模型的解釋性,並且無法解釋觀察到本地級別的預測。

    >

    以來,我們將XGBoost用作複雜的模型,因此我們在下面討論了其內置模型的解釋性。 XGBOOST為我們提供了繪製決策樹的功能,以將直覺納入模型的全局決策及其對預測的重要性。功能重要性返回功能列表,按照其對模型結果的貢獻意義的順序。

    首先,我們啟動了XGBoost模型,然後使用訓練集的獨立和目標功能對其進行了訓練。 XGBoost模型的內置解釋性特徵用於獲得對模型的見解。

    繪製XGBoost內構建的說明使用以下源代碼:

    下圖(圖7)顯示了上述BigMart複雜XGBOOST模型的輸出決策樹。

    # plot single tree
    plot_tree(xgbr_model)
    plt.figure(figsize=(10,5))
    plt.show()
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    >從上面的XGBoost模型樹中,我們可以了解模型的決策以及其用於分類數據並做出最終預測的條件規則。從上面看來,對於此XGBoost模型,功能item_mrp對結果做出了最大的貢獻,其次是決策中的outlet_type。我們可以使用XGBoost的特徵重要性來驗證這一點。

    > ML和AI模型解釋性和解釋性源代碼以顯示功能重要性

    >使用內置說明顯示XGBoost模型的功能重要性,請使用以下源代碼。

    下面的圖(圖9)顯示了使用上述XGBoost模型內構建的解釋產生的特徵。

    # feature importance of the model
    feature_importance_xgb = pd.DataFrame()
    feature_importance_xgb['variable'] = X_train.columns
    feature_importance_xgb['importance'] = xgbr_model.feature_importances_
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    從上面的XGBOOST特徵的重要性中,有趣的是,對於XGBoost模型,outlet_type的貢獻幅度比item_mrp高。此外,該模型為其他貢獻特徵及其對模型預測的影響提供了信息。
    # feature_importance values in descending order
    feature_importance_xgb.sort_values(by='importance', ascending=False).head()
    登入後複製
    登入後複製
    登入後複製
    >正如我們注意到的那樣,XGBoost模型的說明處於全球層面,並提供了大量信息,但是缺少一些其他信息,例如功能貢獻的方向,我們對本地級別觀察沒有見解。方向將告訴我們該特徵是否有助於增加預測值或減少預測值。對於分類問題,功能貢獻的方向將意味著知道該功能是否有助於“ 1”或類“ 0”。

    >這是外部解釋性工具(例如石灰和外形)可以有用的地方,並補充XGBoost模型的解釋性,並提供有關特徵貢獻或功能影響方向的信息。對於沒有內置功能來解釋模型決策過程的模型,Lime有助於添加此能力,以解釋其對本地和全球實例的預測決策。

    lime模型的決策如何起作用以及如何解釋其解釋?

    > 石灰可以與復雜的模型,簡單模型以及黑匣子模型一起使用,我們對模型的工作不了解,並且只有預測。 因此,我們可以將石灰模型直接與需要說明的模型合適,並且我們也可以使用它來通過替代簡單模型來解釋黑匣子模型。 下面的

    我們將使用XGBoost回歸模型作為複雜的和黑匣子模型,並利用簡單的線性回歸模型來了解黑匣子模型的石灰解釋。這也將使我們能夠使用兩種方法對同一複雜模型進行LIME生成的解釋。 >

    要安裝石灰庫,使用以下代碼:>

    >方法1:如何使用複雜的XGBR模型實現和解釋石灰解釋?

    >直接使用複雜模型(例如XGBoost)使用以下代碼:>

    這將產生一個看起來如下圖的輸出。

    >

    # plot single tree
    plot_tree(xgbr_model)
    plt.figure(figsize=(10,5))
    plt.show()
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    從上方開始,我們看到擾動的觀察#0的相似性得分為71.85%,這表明該觀察值的特徵與原始觀察結果相似71.85%。觀察#0的預測值為1670.82,預測值的總範圍在21.74至5793.40之間。 lime確定了觀察#0預測的最大貢獻特徵,並以特徵貢獻的幅度降序排列。

    >以藍色標記的特徵表明它們有助於降低模型的預測值,而橙色標記的特徵表明它們有助於增加觀察值的預測值,即本地實例#0。

    >此外,Lime通過提供模型將數據分配進行觀察的特徵級條件規則而進一步發展。

    # feature importance of the model
    feature_importance_xgb = pd.DataFrame()
    feature_importance_xgb['variable'] = X_train.columns
    feature_importance_xgb['importance'] = xgbr_model.feature_importances_
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    >可視化特徵貢獻和使用石灰

    的模型預測

    在上面的圖(圖13)中,左側的圖表示所有觀測值的預測值(min至max)的總範圍,並且中心的值是該特定實例的預測值,即觀察。

    >中心的圖顯示了藍色代表對模型預測的負面影響,並且對本地實例的模型預測的積極貢獻特徵由顏色橙色表示。具有特徵的數值值表示特徵的擾動值,或者我們可以說它們表示特徵對模型預測的貢獻的幅度,在這種情況下,它是針對特定觀察(#0)或局部實例

    右上的圖表示模型在生成實例的預測時給出的特徵重要性的順序。

    注意:每次我們運行此代碼時,石灰都會選擇功能並為其分配一些新的權重,因此它可能會更改預測的值以及圖。

    >

    >方法2:如何使用替代簡單LR模型來實現和解釋黑匣子模型(XGBR)的石灰解釋?

    要使用複雜的黑匣子模型(例如XGBoost)實現石灰,我們可以使用替代模型方法。對於替代模型,我們可以使用簡單的模型,例如線性回歸或決策樹模型。石灰在這些簡單模型上非常有效。而且,我們還可以將復雜的模型用作帶石灰的替代模型。

    要將石灰與替代簡單模型首先使用,我們需要從黑匣子模型中進行預測。

    # plot single tree
    plot_tree(xgbr_model)
    plt.figure(figsize=(10,5))
    plt.show()
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    >第二步

    在第二步中,使用複雜模型,火車集的獨立特徵和石灰,我們生成了一個擾動特徵值的新數據集,然後使用擾動特徵和復雜模型預測值訓練替代模型(在這種情況下是線性回歸)。

    # feature importance of the model
    feature_importance_xgb = pd.DataFrame()
    feature_importance_xgb['variable'] = X_train.columns
    feature_importance_xgb['importance'] = xgbr_model.feature_importances_
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    # feature_importance values in descending order
    feature_importance_xgb.sort_values(by='importance', ascending=False).head()
    登入後複製
    登入後複製
    登入後複製
    要使用石灰生成擾動的特徵值,我們可以使用以下以下源代碼。

    上面的代碼可用於回歸。對於分類問題,必須將模式修改為“分類”。
    # install lime library
    !pip install lime
    
    # import Explainer function from lime_tabular module of lime library
    from lime.lime_tabular import LimeTabularExplainer
    登入後複製
    登入後複製
    >

    note

    >最後,我們使用替代LR模型為Local實例#0適合LIME,並查看其說明。這也將有助於解釋黑匣子模型(XGBR)的功能貢獻。為此,請使用下面顯示的代碼。

    >

    在執行上面的執行時,我們得到了以下石灰說明,如下圖(圖13)所示。

    # Fit the explainer model  using the complex model and show the LIME explanation and score
    explanation = explainer.explain_instance(X_unseen_test.values[0], xgbr_model.predict)
    explanation.show_in_notebook(show_table=True, show_all=False)
    print(explanation.score)
    登入後複製

    我們立即註意到的一件事是,當我們直接將石灰與XGBoost模型一起使用時,對於觀察#0,石灰解釋得分較高(71.85%),當我們將其視為黑匣子模型並使用替代LR模型來獲取黑匣子模型(XGBOBOST)的lime解釋(XGBOBOST),則是一個顯著的分數(XGBOBOST)。這表明與替代模型方法相比,觀察值中的特徵數量將較少,因此,與原始模型的原始模型和石灰相比,使用解釋器的預測可能會有一些差異。

    觀察#0的預測值為2189.59,總體預測值在2053.46和2316.54之間。

    使用石灰XGBR的觀察#0的預測值為1670.82。

    如何訪問石灰擾動數據?

    查看石灰擾動值使用以下代碼。

    上面的輸出看起來如下圖所示。

    # plot single tree
    plot_tree(xgbr_model)
    plt.figure(figsize=(10,5))
    plt.show()
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    lime特徵的重要性ML和AI模型解釋性和解釋性 模型中的每個實例在生成實例的預測時給出了不同的特徵。這些確定的模型功能在模型的預測中起著重要作用。特徵重要性值表示模型預測的擾動特徵值或已確定特徵的新幅度。

    石灰的解釋分數是什麼?
    # feature importance of the model
    feature_importance_xgb = pd.DataFrame()
    feature_importance_xgb['variable'] = X_train.columns
    feature_importance_xgb['importance'] = xgbr_model.feature_importances_
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    >

    石灰解釋得分錶明了石灰解釋的準確性以及確定的特徵在預測模型結果中的作用。較高的可解釋分數表明,該模型對觀察的識別特徵在此實例的模型預測中起著重要作用。從上圖(圖13),我們可以看到可解釋的替代LR模型給觀察中確定的特徵得分為0.4954。 ML和AI模型解釋性和解釋性現在,讓我們來研究另一個名為Shapely的工具,因為它為模型添加了解釋性。

    >

    理解塑形(Shapley添加說明)

    >另一種用於ML的普遍使用的工具,AI模型的解釋是Shap(外形添加說明)。該工具也是模型的不可知論。它的解釋基於稱為“沙普利價值觀”的合作遊戲理論概念。在這個遊戲理論中,考慮所有玩家的貢獻,並根據他們對整體結果的貢獻賦予每個玩家的價值。因此,它為模型決策提供了公平且可解釋的洞察力。

    >根據Shapely的說法,一個球員聯盟共同努力取得結果。所有玩家都不相同,每個玩家都有不同的特徵,可以幫助他們以不同的方式為結果做出貢獻。在大多數情況下,是多個玩家的貢獻可以幫助他們贏得比賽。因此,玩家之間的合作是有益的,需要得到重視,不僅應僅取決於單個玩家對結果的貢獻。而且,每一層次,從結果中產生的收益應根據玩家的貢獻在玩家中分配。

    塑造ML和AI模型解釋工具基於上述概念。它將數據集中的功能視為團隊中的個別玩家(觀察)。這些聯盟在ML模型中共同努力以預測結果,而回報是模型預測。 Shap有助於公平有效地在單個特徵(參與者)之間分配結果增長,從而認識到它們對模型結果的貢獻。

    使用沙普利值

    公平分佈貢獻

    在上面的圖(圖15)中,我們考慮了兩名參加比賽的球員,並以獎金的形式獲得了結果。兩名球員通過組建不同的聯盟(C12,C10,C20,C0)參加,並通過每個聯盟獲得不同的獎品。最後,我們看到了平均平均體重如何幫助我們確定每個玩家對結果的貢獻,並在參與者中公平地分配獎金。 ML和AI模型解釋性和解釋性 在“ i”播放器的情況下,圖(圖16)中顯示的以下方程可用於確定每個播放器或功能的塑性值。

    >讓我們進一步探索形狀庫。

    >如何安裝shap庫安裝並初始化它? ML和AI模型解釋性和解釋性>

    要安裝shap庫使用以下源代碼,如下所示。

    如何實現和解釋複雜的XGBR模型塑造說明?

    塑形庫可以直接與復雜模型一起使用以生成解釋。以下是與復雜XGBoost模型直接使用Shap的代碼(使用與Lime解釋相同的模型實例)。

    >

    如何生成複雜XGBR模型的形狀值?
    # plot single tree
    plot_tree(xgbr_model)
    plt.figure(figsize=(10,5))
    plt.show()
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    >以上將顯示聯盟中每個特徵播放器的塑形值數組,即測試數據集中的觀察值。

    形狀值看起來如圖所示(圖-19):

    # feature importance of the model
    feature_importance_xgb = pd.DataFrame()
    feature_importance_xgb['variable'] = X_train.columns
    feature_importance_xgb['importance'] = xgbr_model.feature_importances_
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    >複雜XGBR模型的形狀特徵重要性是什麼?

    > Shap可以幫助我們確定哪些功能有助於模型的結果。它顯示了每個功能如何影響預測及其影響。 Shap還比較了模型中特徵對其他功能的貢獻。

    > 通過考慮特徵的所有可能排列,

    shap實現了這一點。它可以計算和比較具有和沒有功能的模型結果,從而計算每個特徵貢獻以及整個團隊(所有參與者又稱一個特徵)。

    如何實現和解釋複雜XGBR模型的摘要摘要圖?

    Shap摘要圖可用於查看Shap特徵貢獻,其重要性和對結果的影響。

    以下是圖(圖20)顯示了生成摘要圖的源代碼。

    上面的圖(圖21)顯示了BigMart數據的形狀摘要圖。從上方,我們看到Shap以其重要性順序排列了Bigmart數據集中的功能。在右側,我們看到了從頂部的高價值特徵和底部排列的低值排列的特徵。
    # plot single tree
    plot_tree(xgbr_model)
    plt.figure(figsize=(10,5))
    plt.show()
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    >也,我們可以解釋模型特徵對其結果的影響。特徵撞擊以水平為中心,圍繞著外形平均值。形狀平均值左側的特徵的外形值在粉紅色的顏色中表示,表示其負面影響。形狀平均值右側的特徵形狀值表示對積極影響的特徵貢獻。形狀值還表示特徵對結果的大小或影響。

    因此,Shap列出了該模型的整體圖,表明每個特徵對預測結果的貢獻的大小和方向。 ML和AI模型解釋性和解釋性如何實現和解釋複雜XGBR模型的形狀依賴圖?

    > Shap功能依賴圖有助於我們將功能關係與另一個功能解釋。在上面的圖中,似乎Item_MRP取決於outlet_type。對於outlet_types 1至3,item_mrp的趨勢增加,而從上面的utlet_type 0到outlet_type 1,item_mrp的趨勢下降。

    >。

    如何實現和解釋複雜XGBR模型的塑造力圖? 到目前為止,我們在全球範圍內看到了Shap的特徵,影響力和決策的特徵。塑形力圖可用於在當地觀察級別中直覺進入模型決策。

    要利用Shap Force圖,我們可以使用以下代碼。請記住使用自己的數據集名稱。以下代碼查看測試數據集的第一個觀察結果,即x_unseen_test.iloc [0]。可以更改此數字以查看不同的觀察結果。

    # plot single tree
    plot_tree(xgbr_model)
    plt.figure(figsize=(10,5))
    plt.show()
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    ML和AI模型解釋性和解釋性

    我們可以將上述力圖解釋為以下。基本值指示使用Shap替代LR模型的本地實例#0的預測值。標記為深粉色的功能是推動預測值更高的功能,而標記為藍色的特徵則將預測推向了較低的值。具有功能的數字是特徵原始值。

    >

    如何為複雜的XGBoost模型實現和解釋制定決策圖?

    要顯示形狀依賴圖,我們可以使用以下代碼,如下圖所示。

    # feature importance of the model
    feature_importance_xgb = pd.DataFrame()
    feature_importance_xgb['variable'] = X_train.columns
    feature_importance_xgb['importance'] = xgbr_model.feature_importances_
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    SHAP決策圖是查看不同模型特徵對模型預測的影響的另一種方式。從下面的決策圖中,我們試圖可視化各種模型功能對預測結果的影響,即項目插座銷售。

    從下面的決策圖中,我們觀察到特徵item_mrp對預測結果產生了積極影響。它增加了商品插座銷售。同樣,utlet_isternifier_out018也通過提高銷售額做出了積極的貢獻。另一方面,item_type對結果產生負面影響。它減少了商品銷售。同樣,utlet_istentifier_27也以負面貢獻減少了銷售。

    >

    >下面的圖顯示了大市場銷售數據的決策圖。

    >如何使用TreeExplainer實現和解釋複雜XGBR模型的塑造力圖? ML和AI模型解釋性和解釋性

    # feature_importance values in descending order
    feature_importance_xgb.sort_values(by='importance', ascending=False).head()
    登入後複製
    登入後複製
    登入後複製
    如何使用替代模型實現和解釋黑匣子模型的解釋?

    >使用替代模型(此處使用的線性回歸模型)使用Shap解釋使用以下代碼。線性回歸模型是使用黑匣子模型和訓練集的獨立特徵的預測來訓練的。 ML和AI模型解釋性和解釋性

    對於Shap解釋器替代模型,Shap值將看起來像下面。

    如何使用替代LR模型來實現和解釋黑匣子模型的形狀摘要圖?
    # install lime library
    !pip install lime
    
    # import Explainer function from lime_tabular module of lime library
    from lime.lime_tabular import LimeTabularExplainer
    登入後複製
    登入後複製
    >顯示黑匣子替代模型的形狀摘要圖,代碼看起來像下面。

    ML和AI模型解釋性和解釋性

    >從上面的黑匣子代替代LR模型的Shap摘要圖中,Item_Type和item_MRP是具有總體中性影響的Item_Type的最高貢獻功能之一,而item_mrp似乎正在向右手側伸向右手,表明它有助於增加結果(即ite_e.e.e.e.e.e.e.e.e.outlet_sales。

    如何實現和解釋黑匣子替代簡單LR模型的形狀依賴圖?

    >使用替代LR模型實現Shap Dependece圖,請使用以下代碼。 >

    輸出看起來像下面的。

    # plot single tree
    plot_tree(xgbr_model)
    plt.figure(figsize=(10,5))
    plt.show()
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    >從上面的圖中我們可以說,對於黑匣子替代LR模型,MRP對於出口類型0和1的趨勢越來越多,而對於出口類型3的趨勢也有所下降。

    模型的比較表ML和AI模型解釋性和解釋性

    >下面我們將查看表格以比較每個模型

    Aspect LIME SHAP Blackbox Surrogate LR Model XGBR Model (Complex)
    Explainability Local-level explainability for individual predictions Global-level and local-level explainability Limited explainability, no local-level insights Limited local-level interpretability
    Model Interpretation Uses synthetic dataset with perturbed values to analyze model’s decision rationale Uses game theory to evaluate feature contributions No local-level decision insights Global-level interpretability only
    Explanation Score Average explanation score = 0.6451 Provides clear insights into feature importance Lower explanation score compared to LIME XGBR Higher prediction accuracy but lower explanation
    Accuracy of Closeness to Predicted Value Matches predicted values closely in some cases Provides better accuracy with complex models Low accuracy of closeness compared to LIME Matches predicted values well but limited explanation
    Usage Helps diagnose and understand individual predictions Offers fairness and transparency in feature importance Not suitable for detailed insights Better for high-level insights, not specific
    Complexity and Explainability Tradeoff Easier to interpret but less accurate for complex models Higher accuracy with complex models, but harder to interpret Less accurate, hard to interpret Highly accurate but limited interpretability
    Features Explains local decisions and features with high relevance to original data Offers various plots for deeper model insights Basic model with limited interpretability Provides global explanation of model decisions
    Best Use Cases Useful for understanding decision rationale for individual predictions Best for global feature contribution and fairness Used when interpretability is not a major concern Best for higher accuracy at the cost of explainability
    Performance Analysis Provides a match with XGBR prediction but slightly lower accuracy Performs well but has a complexity-accuracy tradeoff Limited performance insights compared to LIME High prediction accuracy but with limited interpretability
    Lime的擾動特徵和模型解釋性

    見解

    >同樣,在分析石灰擾動值時,我們對石灰選擇的特徵的方式進行了一些直覺,然後分配給它們的擾動權重,並嘗試使預測更接近原始。

    >帶來所有的石灰模型和觀測值(對於排名前3的行和選定的功能)。

    >

    ML和AI模型解釋性和解釋性

    ML和AI模型解釋性和解釋性

    從上面開始,我們可以看到,對於觀察#0,原始XGBR模型預測和石灰XGBR模型預測是匹配的,而對於相同的原始特徵值,BlackBox替代模型預測觀察#0也是不對的。同時,石灰XGBR模型展示了高解釋得分(特徵與原始功能的相似性)。 複雜石灰XGBR模型的解釋得分的平均值為0.6451,黑盒替代LR石灰模型的平均值為0.5701。在這種情況下,石灰XGBR的平均解釋得分高於黑匣子模型。

    預測值的親密度的準確性

    下面我們分析了三個模型的預測值的親密度的精度。

    通過簡單的LR模型和石灰複合物XGBR模型的預測值的%精度是相同的,兩種模型都達到了100%的觀測精度。這表明預測值與復雜XGBR模型做出的實際預測非常匹配。通常,較高的親密度精度反映了一個更準確的模型。

    >

    比較預測和實際值時,會觀察到差異。對於觀察#3,預測值(2174.69)顯著高於實際值(803.33)。同樣,計算了石灰複合物XGBR和BlackBox替代LR模型的親密度精度。結果突出顯示了各種性能指標,如表中所述。 ML和AI模型解釋性和解釋性>

    >從上方我們看到,對於觀察1,BlackBox替代LR模型表現最好。同時,對於其他兩個觀察結果(#2和#3),兩個模型性能均相等。

    石灰複合物XGBR模型的平均性能約為176,BlackBox替代LR模型約為186。 因此,我們可以說石灰複雜模型的精度<石灰黑盒替代LR模型精度。 ML和AI模型解釋性和解釋性

    結論

    石灰和外形是提高機器學習和AI模型的解釋性的強大工具。它們使復雜或黑框模型更加透明。石灰專門針對模型的決策過程提供本地級別的見解。 Shap提供了更廣泛的視野,並在全球和地方層面上都解釋了功能貢獻。儘管石灰的準確性可能並不總是與XGBR這樣的複雜模型匹配,但對於理解單個預測而言是無價的。 另一方面,Shap的基於遊戲理論的方法促進了公平和透明度,但有時很難解釋。 BlackBox模型和XGBR等複雜模型提供了更高的預測準確性,但通常以降低解釋性為代價。最終,這些工具之間的選擇取決於預測準確性和模型可解釋性之間的平衡,這可能會根據所使用模型的複雜性而有所不同。

    鑰匙要點

    lime和shap提高了複雜AI模型的解釋性。

    石灰是獲得對預測的本地水平見解的理想選擇。

    shap對特徵重要性和公平性提供了更全球的理解。
      較高的模型複雜性通常會導致更好的準確性,但可以降低解釋性。
    • 這些工具之間的選擇取決於對準確性和可解釋性的需求。
    • 參考
    • 有關更多詳細信息,請使用以下
    • >
    • 源代碼存儲庫
    • limedocumentation

    > shapdocumentation

    常見問題
    • > Q1。模型解釋性和可解釋性之間有什麼區別?口譯員是將語言翻譯成不了解語言的人的人。因此,模型解釋性的作用是用作翻譯器,並以易於理解的方式將模型以技術形式產生的模型解釋轉化為非技術人類的解釋。 模型的解釋性與生成模型的解釋有關在本地觀察和全球層面的決策中產生模型解釋。因此,模型的解釋性有助於將模型解釋從復雜的技術格式轉化為用戶友好的格式。
    • Q2。為什麼模型解釋性在AI和ML中很重要? 
    • a。 ML和AI模型的解釋性和可解釋性至關重要,原因有幾個。它們使模型具有透明度和信任。它們還促進協作並幫助識別和減輕脆弱性,風險和偏見。此外,解釋性有助於調試問題並確保遵守法規和道德標準。這些因素在各種業務用例中尤為重要,包括銀行和金融,醫療保健,完全自動駕駛汽車和零售,如文章中所述。 Q3。所有模型都可以使用石灰和外形嗎?是的,石灰和外形是模型的不可知論。這意味著它們可以應用於任何機器學習模型。這兩種工具都增強了模型的解釋性和解釋性。實現模型的解釋性挑戰是什麼?實現模型的挑戰在於在模型準確性和模型解釋之間找到平衡。重要的是要確保解釋是由非技術用戶解釋的。這些解釋的質量必須在實現高模型準確性的同時保持。 >

以上是ML和AI模型解釋性和解釋性的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板