AI就像一個黑盒子,能自己做出決定,但是人們並不清楚其中緣由。建立一個AI模型,輸入數據,然後再輸出結果,但有一個問題就是我們不能解釋AI為何會得出這樣的結論。需要了解AI如何得出某個結論背後的原因,而不是只接受一個在沒有上下文或解釋的情況下輸出的結果。
可解釋性旨在幫助人們理解:
在本文中,我將介紹6個用於可解釋性的Python框架。
SHapley Additive explanation (SHapley Additive explanation)是一種解釋任何機器學習模型輸出的賽局理論方法。它利用博弈論中的經典Shapley值及其相關擴展將最優信貸分配與局部解釋聯繫起來(詳見論文的細節和引用)。
資料集中每個特徵對模型預測的貢獻由Shapley值解釋。 Lundberg和Lee的SHAP演算法最初發表於2017年,這個演算法被社群在許多不同的領域廣泛採用。
使用pip或conda安裝shap函式庫。
# install with pippip install shap# install with condaconda install -c conda-forge shap
使用Shap函式庫建立瀑布圖
#使用Shap函式庫建立Beeswarm圖
#使用Shap函式庫建構部分依賴圖
在可解釋性領域,最早出名的方法之一是LIME。它可以幫助解釋機器學習模型正在學習什麼以及為什麼他們以某種方式預測。 Lime目前支援表格的數據,文字分類器和圖像分類器的解釋。
知道為什麼模型會以這種方式進行預測對於調整演算法是至關重要的。借助LIME的解釋,能夠理解為什麼模型會以這種方式運作。如果模型沒有按照計劃運行,那麼很可能在資料準備階段就犯了錯誤。
使用pip安裝
pip install lime
#LIME 建立的局部解釋圖
##LIME建構的Beeswarm 圖 Shapash「Shapash是一個使機器學習對每個人都可以進行解釋和理解Python庫。Shapash提供了幾種類型的可視化,顯示了每個人都能理解的明確標籤。資料科學家可以更輕鬆地理解他們的模型並分享結果。 最終使用者可以使用最標準的摘要來理解模型是如何做出判斷的。」為了表達數據中包含故事、見解和模型的發現,互動性和漂亮的圖表必不可少。業務和資料科學家/分析師向AI/ML結果展示和互動的最佳方法是將其視覺化並且放到web中。 Shapash庫可以產生互動式儀錶板,並收集了許多視覺化圖表。與外形/石灰解釋性有關。它可以使用SHAP/Lime作為後端,也就是說他只提供了更好看的圖表。 使用Shapash建立特徵貢獻圖 #使用Shapash庫建立的互動式儀表板 使用Shapash建構的局部解釋圖InterpretMLInterpretML是一個開源的Python套件,它向研究人員提供機器學習可解釋演算法。 InterpretML支援訓練可解釋模型(glassbox),以及解釋現有的ML管道(blackbox)。
InterpretML展示了兩種類型的可解釋性:glassbox模型——為可解釋性設計的機器學習模型(如:線性模型、規則列表、廣義可加模型)和黑箱可解釋性技術——用於解釋現有系統(如:部分依賴,LIME)。使用統一的API並封裝多種方法,擁有內建的、可擴展的視覺化平台,該套件使研究人員能夠輕鬆地比較可解釋性演算法。 InterpretML還包括了explanation Boosting Machine的第一個實現,這是一個強大的、可解釋的、glassbox模型,可以像許多黑箱模型一樣精確。
使用InterpretML建構的局部解釋互動式圖
#使用InterpretML建構的全域解釋圖
ELI5是一個可以幫助除錯機器學習分類器並解釋它們的預測的Python庫。目前支援以下機器學習框架:
ELI5有兩種主要的方法來解釋分類或回歸模型:
使用ELI5函式庫產生全域權值
#使用ELI5函式庫產生局部權重
OmniXAI (Omni explained AI的簡稱),是Salesforce最近開發並開源的Python函式庫。它提供全方位可解釋的人工智慧和可解釋的機器學習能力來解決實踐中機器學習模型在產生中需要判斷的幾個問題。對於需要在ML過程的各個階段解釋各種類型的資料、模型和解釋技術的資料科學家、ML研究人員,OmniXAI希望提供一個一站式的綜合函式庫,讓可解釋的AI變得簡單。
以下是OmniXAI提供的與其他類似函式庫的比較
以上是6個推薦的Python框架,用於建立可解釋的人工智慧系統(XAI)的詳細內容。更多資訊請關注PHP中文網其他相關文章!