
作者 | Moez Ali
來源 | DeepHub IMBA
隨着人工智能的發展為了解決具有挑戰性的問題,人們創造了更複雜、更不透明的模型。AI就像一個黑匣子,能自己做出決定,但是人們並不清楚其中緣由。建立一個AI模型,輸入數據,然後再輸出結果,但有一個問題就是我們不能解釋AI為何會得出這樣的結論。需要了解AI如何得出某個結論背後的原因,而不是僅僅接受一個在沒有上下文或解釋的情況下輸出的結果。在本文中,將介紹6個用於機器學習可解釋性的Python框架。SHAPSHapley Additive explanation (SHapley Additive explanation)是一種解釋任何機器學習模型輸出的博弈論方法。它利用博弈論中的經典Shapley值及其相關擴展將最優信貸分配與局部解釋聯繫起來(詳見論文的細節和引用)。
數據集中每個特徵對模型預測的貢獻由Shapley值解釋。Lundberg和Lee的SHAP算法最初發表於2017年,這個算法被社區在許多不同的領域廣泛採用。
# install with pippip install shap# install with condaconda install -c conda-forge shap
LIME在可解釋性領域,最早出名的方法之一是LIME。它可以幫助解釋機器學習模型正在學習什麼以及為什麼他們以某種方式預測。Lime目前支持對表格的數據,文本分類器和圖像分類器的解釋。
知道為什麼模型會以這種方式進行預測對於調整算法是至關重要的。藉助LIME的解釋,能夠理解為什麼模型以這種方式運行。如果模型沒有按照計劃運行,那麼很可能在數據準備階段就犯了錯誤。

Shapash「 Shapash是一個使機器學習對每個人都可以進行解釋和理解Python庫。Shapash提供了幾種類型的可視化,顯示了每個人都能理解的明確標籤。數據科學家可以更輕鬆地理解他們的模型並分享結果。最終用戶可以使用最標準的摘要來理解模型是如何做出判斷的。」
為了表達數據中包含故事、見解和模型的發現,互動性和漂亮的圖表必不可少。業務和數據科學家/分析師向AI/ML結果展示和互動的最佳方法是將其可視化並且放到web中。Shapash庫可以生成交互式儀錶盤,並收集了許多可視化圖表。與外形/石灰解釋性有關。它可以使用SHAP/Lime作為後端,也就是說它只提供了更好看的圖表。
InterpretMLInterpretML是一個開源的Python包,它向研究人員提供機器學習可解釋性算法。InterpretML支持訓練可解釋模型(glassbox),以及解釋現有的ML管道(blackbox)。
InterpretML展示了兩種類型的可解釋性:glassbox模型——為可解釋性設計的機器學習模型(如:線性模型、規則列表、廣義可加模型)和黑箱可解釋性技術——用於解釋現有系統(如:部分依賴,LIME)。
使用統一的API並封裝多種方法,擁有內置的、可擴展的可視化平台,該包使研究人員能夠輕鬆地比較可解釋性算法。InterpretML還包括了explanation Boosting Machine的第一個實現,這是一個強大的、可解釋的、glassbox模型,可以像許多黑箱模型一樣精確。
ELI5ELI5是一個可以幫助調試機器學習分類器並解釋它們的預測的Python庫。目前支持以下機器學習框架:
XGBoost、LightGBM CatBoost
檢查模型的單個預測並說明什麼模型會做出這樣的決定。
OmniXAIOmniXAI (Omni explained AI的簡稱),是Salesforce最近開發並開源的Python庫。它提供全方位可解釋的人工智能和可解釋的機器學習能力來解決實踐中機器學習模型在產生中需要判斷的幾個問題。對於需要在ML過程的各個階段解釋各種類型的數據、模型和解釋技術的數據科學家、ML研究人員,OmniXAI希望提供一個一站式的綜合庫,使可解釋的AI變得簡單。
https://shap.readthedocs.io/en/latest/index.htmlhttps://github.com/marcotcr/limehttps://shapash.readthedocs.io/en/latest/https://eli5.readthedocs.io/https://github.com/salesforce/OmniXAI