頭條資訊 - 為您提供最新最全的新聞資訊,每日實時更新

用於可解釋機器學習的 Python 庫

科技數碼 雷鋒網

用於可解釋機器學習的 Python 庫

字幕組雙語原文:用於可解釋機器學習的 Python 庫

英語原文:Python Libraries for Interpretable Machine Learning

翻譯:雷鋒字幕組(ZeroJ)

用於可解釋機器學習的 Python 庫

由於對人工智能偏見的擔心日益凸顯,從業者解釋模型產出的預測結果的能力以及解釋模型自身運作機制的能力變的越來越重要。幸運的是,已經有許多python工具集被開發出來,用以解決上述問題。下文我將對現有4個建立的比較完善的翻譯和解釋機器學習模型的工具包做簡要的指導性描述。

這些工具包都可以通過pip來進行安裝,擁有完善的文檔,並且強調通過可視化來提升可解釋性。

yellowbrick 

這個工具包本質上,是scikit-learn的一個擴展,提供了一些非常實用且好看的機器學習模型可視化工具。`visualiser`對象是核心接口,是一個scikit-learn估計器,所以如果你之前熟悉scikit-learn的工作流程,那麼將對此非常熟悉。

這個可視化工具覆蓋了模型選擇,特徵重要性和模型性能分析等方面。

讓我們看幾個簡短的例子。

該工具包可以通過pip安裝,

為了展示工具包中的一些特性,我們將利用scikit-learn中的紅酒識別數據集。這個數據集包含13個特徵以及3個目標類別。可以通過scikit-learn直接加載。在下面的代碼裡我引入數據集,並把轉換成pandas dataframe。數據集可以直接被用來訓練模型,並不需要其他的數據處理。

利用scikit-learn進一步將數據分為測試集合和訓練集。

接下來,我們用yellowbrick的visualiser觀察特徵之間的相關性。

用於可解釋機器學習的 Python 庫

現在,我們擬合一個隨機森林分類器,並通過另一個visualiser評價其性能。

用於可解釋機器學習的 Python 庫

ELI5

ELI5是另一個可視化工具包,在模型機器學習模型調試和解釋其產出的預測結果方面非常有用。它能夠同大多數通用的python機器學習工具包一起使用,包括scikit-learn和XGBoost,以及Keras。

讓我們用ELI5來觀察一下上面我們訓練的模型的特徵重要性。

用於可解釋機器學習的 Python 庫

默認的,`show_weights`方法採用GAIN來計算權重,但你也可以傳入其他`importance_type`來控制特徵重要性的計算。

也可以通過`show_prediction`來觀察某一個樣本的預測結果的原因。

用於可解釋機器學習的 Python 庫

LIME

LIME(模型無關局部可解釋)是一個用來解釋模型做出的預測的工具包。LIME支持對多種分類器的單個樣本預測進行解釋,並且原生支持scikit-learn。

下面讓我們用LIME對上述我們訓練的模型的一些預測進行解釋。

LIME可以用pip進行安裝

首先我們構建explainer,它通過訓練數據集數組,模型中用到的特徵名稱和目標變量的類別名稱作為初始化參數。

接下來,我們創建一個lambda函數,它表示用模型預測一個樣本。詳見這個優秀的,更有深度的LIME教程。

隨後,我們利用explainer解釋指定樣本的預測結果。其結果如下。LIME通過可視化的結果,展示特徵如果對得到的預測結果產生影響。

用於可解釋機器學習的 Python 庫

MLxtend

這個工具包包含一系列機器學習可用的工具函數。包括通過stacking和voting構建的分類器,模型的評估,特徵的提取、特徵工程和可視化。除了該工具包的文檔,這篇論文也是理解工具包更多細節的好資源。

下面讓我們利用MLxtend來比較Ensemble後的分類器的分類邊界與組成他的子分類器的分類邊界有什麼不同。

同樣MLxtend也可以通過pip安裝。

引入一些工具包,

下面的可視化工具一次只能接受兩個特徵作為輸入,所以我們創建了數組['proline', 'color_intensity']。因為這兩個特徵在上述利用ELI5分析時,具有最高的特徵重要性。

接下來,我們創建一些分類器,並在訓練數據上進行擬合,通過MLxtend可視化他們的決策邊界。輸出來自下面的代碼。

用於可解釋機器學習的 Python 庫

以上絕對不是模型可解釋和可視化工具包的完整列表。這篇博文羅列了包含其他有用的工具包的列表,值得一試。

感謝閱讀!

雷鋒字幕組是一個由 AI 愛好者組成的翻譯團隊,匯聚五百多位志願者的力量,分享最新的海外AI資訊,交流關於人工智能技術領域的行業變革與技術創新的見解。

團隊成員有大數據專家、算法工程師、圖像處理工程師、產品經理、產品運營、IT諮詢人、在校師生;志願者們來自IBM、AVL、Adobe、阿里、百度等知名企業,北大、清華、港大、中科院、南卡羅萊納大學、早稻田大學等海內外高校研究所。

如果,你也是位熱愛分享的AI愛好者。歡迎與雷鋒字幕組一起,學習新知,分享成長。

用於可解釋機器學習的 Python 庫

雷鋒網雷鋒網

轉載請超鏈接註明:頭條資訊 » 用於可解釋機器學習的 Python 庫
免責聲明
    :非本網註明原創的信息,皆為程序自動獲取互聯網,目的在於傳遞更多信息,並不代表本網贊同其觀點和對其真實性負責;如此頁面有侵犯到您的權益,請給站長發送郵件,並提供相關證明(版權證明、身份證正反面、侵權鏈接),站長將在收到郵件24小時內刪除。
加載中...