6 個機器學習可解釋性框架!

作者 | Moez Ali

來源 | DeepHub IMBA

隨着人工智能的發展爲瞭解決具有挑戰性的問題,人們創造了更復雜、更不透明的模型。AI 就像一個黑匣子,能自己做出決定,但是人們並不清楚其中緣由。

建立一個 AI 模型,輸入數據,然後再輸出結果,但有一個問題就是我們不能解釋 AI 爲何會得出這樣的結論。需要了解 AI 如何得出某個結論背後的原因,而不是僅僅接受一個在沒有上下文或解釋的情況下輸出的結果。

可解釋性旨在幫助人們理解:

在本文中,將介紹 6 個用於機器學習可解釋性的 Python 框架。

SHAP

SHapley Additive explanation (SHapley Additive explanation) 是一種解釋任何機器學習模型輸出的博弈論方法。它利用博弈論中的經典 Shapley 值及其相關擴展將最優信貸分配與局部解釋聯繫起來(詳見論文的細節和引用)。

以前寫過一篇文章,用過 SHAP 這個庫:

基於隨機森林模型的心臟病患者預測分類

數據集中每個特徵對模型預測的貢獻由 Shapley 值解釋。Lundberg 和 Lee 的 SHAP 算法最初發表於 2017 年,這個算法被社區在許多不同的領域廣泛採用。

使用 pip 或 conda 安裝 shap 庫。

# install with pip
pip install shap

# install with conda
conda install -c conda-forge shap

使用 Shap 庫構建瀑布圖

使用 Shap 庫構建 Beeswarm 圖

使用 Shap 庫構建部分依賴圖

LIME

在可解釋性領域,最早出名的方法之一是 LIME。它可以幫助解釋機器學習模型正在學習什麼以及爲什麼他們以某種方式預測。Lime 目前支持對錶格的數據,文本分類器和圖像分類器的解釋。

知道爲什麼模型會以這種方式進行預測對於調整算法是至關重要的。藉助 LIME 的解釋,能夠理解爲什麼模型以這種方式運行。如果模型沒有按照計劃運行,那麼很可能在數據準備階段就犯了錯誤。

使用 pip 安裝:

pip install lime

LIME 構建的局部解釋圖

LIME 構建的 Beeswarm 圖

Shapash

“Shapash 是一個使機器學習對每個人都可以進行解釋和理解 Python 庫。Shapash 提供了幾種類型的可視化,顯示了每個人都能理解的明確標籤。數據科學家可以更輕鬆地理解他們的模型並分享結果。最終用戶可以使用最標準的摘要來理解模型是如何做出判斷的。”

爲了表達數據中包含故事、見解和模型的發現,互動性和漂亮的圖表必不可少。業務和數據科學家 / 分析師向 AI/ML 結果展示和互動的最佳方法是將其可視化並且放到 web 中。Shapash 庫可以生成交互式儀表盤,並收集了許多可視化圖表。與外形 / 石灰解釋性有關。它可以使用 SHAP/Lime 作爲後端,也就是說它只提供了更好看的圖表。

使用 Shapash 構建特徵貢獻圖

使用 Shapash 庫創建的交互式儀表板

使用 Shapash 構建的局部解釋圖

InterpretML

InterpretML 是一個開源的 Python 包,它向研究人員提供機器學習可解釋性算法。InterpretML 支持訓練可解釋模型 (glassbox),以及解釋現有的 ML 管道 (blackbox)。

InterpretML 展示了兩種類型的可解釋性:glassbox 模型——爲可解釋性設計的機器學習模型(如:線性模型、規則列表、廣義可加模型)和黑箱可解釋性技術——用於解釋現有系統(如:部分依賴,LIME)。

使用統一的 API 並封裝多種方法,擁有內置的、可擴展的可視化平臺,該包使研究人員能夠輕鬆地比較可解釋性算法。InterpretML 還包括了 explanation Boosting Machine 的第一個實現,這是一個強大的、可解釋的、glassbox 模型,可以像許多黑箱模型一樣精確。

使用 InterpretML 構建的局部解釋交互式圖

使用 InterpretML 構建的全局解釋圖

ELI5

ELI5 是一個可以幫助調試機器學習分類器並解釋它們的預測的 Python 庫。目前支持以下機器學習框架:

ELI5 有兩種主要的方法來解釋分類或迴歸模型:

使用 ELI5 庫生成全局權值

使用 ELI5 庫生成局部權重

OmniXAI

OmniXAI (Omni explained AI 的簡稱),是 Salesforce 最近開發並開源的 Python 庫。它提供全方位可解釋的人工智能和可解釋的機器學習能力來解決實踐中機器學習模型在產生中需要判斷的幾個問題。對於需要在 ML 過程的各個階段解釋各種類型的數據、模型和解釋技術的數據科學家、ML 研究人員,OmniXAI 希望提供一個一站式的綜合庫,使可解釋的 AI 變得簡單。

以下是 OmniXAI 提供的與其他類似庫的對比:

最後,下面是這 6 個框架的官方地址:

https://shap.readthedocs.io/en/latest/index.html

https://github.com/marcotcr/lime

https://shapash.readthedocs.io/en/latest/

https://interpret.ml/

https://eli5.readthedocs.io/

https://github.com/salesforce/OmniXAI

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/R1ke2YGK675vd7_UlsyuNw