日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【机器学习】4 款超级棒的模型可解释性工具包,总有一款适合你!

發布時間:2025/3/12 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【机器学习】4 款超级棒的模型可解释性工具包,总有一款适合你! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

近年來機器學習模型可解釋性成為大家關注的熱點,我們不再滿足于模型效果,而是對模型效果的產生原因有了更多的思考,這樣的思考不僅有助于模型和特征優化,也能更好的幫助理解模型本身和提升模型服務質量。

算法通常被看成黑盒子模型,訓練數據流入黑盒子,訓練出一個函數(這個函數也可以稱之為模型),輸入新的數據到該函數得出預測結果。對于算法給出的預測結果,其實很多人內心都會有質疑:"WHY?"

這就是為什么我們要擁有模型可解釋性。

什么是模型可解釋性?

模型可解釋性試圖理解和解釋響應函數所做出的這些決定,即what,why以及how。通常,機器學習模型通過預測,并使用這些預測解決一系列問題。我們會有如下疑問:

  • 這些預測的可信度如何?

  • 他們足夠可靠地做出重大決策嗎?

模型可解釋性將你的注意力從"結論是什么?"轉到"為什么得出這個結論?"。

為什么模型可解釋性很重要?

以一個分類器的示例:哈士奇與狼的分類問題,其中一些哈士奇犬被錯誤分類為狼。使用可解釋的機器學習,你可能會發現這些錯誤分類主要是由于圖像中的雪而引起的,分類器將其用作預測狼的特征。

模型可解釋性對于驗證模型結果是否符合你的期望是很有必要的。它不僅可以與業務方建立信任關系,推動項目繼續進行下去,而且可以結果來改善模型性能本身。

如何解釋機器學習模型?

為方便大家理解,讓我們創建一個模型,引入隨機森林分類器,并對模型進行訓練、預測。

#訓練 From?sklearn.ensemble?import?RandomForestClassifier rfc?=?RandomForestClassifier() rfc.fit(train_X,y) #預測 testpred?=?rfc.predict(test_X)

模型可解釋工具

我們已經建立了模型,現在是時候介紹、使用「4種」可解釋工具了。

1、ELI5

我們先從最流行的工具之一ELI5開始。ELI5 是一個 Python 軟件包,可幫助調試機器學習分類器并解釋其預測。它可以為以下機器學習框架和軟件包提供支持:

  • scikit-learn

  • Keras

  • xgboost

  • LightGBM

  • CatBoost

  • sklearn-crfsuite

ELI5 安裝方法

pip?install?eli5 #?或 conda?install?-c?conda-forge?eli5

ELI5 使用方法

import?eli5 eli5.show_weights(rfc) 結果

更多使用技巧,文檔參考如下:

https://eli5.readthedocs.io/en/latest/
2、LIME

在機器學習模型事后局部可解釋性研究中,一種代表性方法是由 Marco Tulio Ribeiro 等人提出的 Local Interpretable Model-Agnostic Explanation(LIME)。

一般地,對于每一個輸入實例,LIME首先利用該實例以及該實例的一組近鄰數據訓練一個易于解釋的線性模型來擬合待解釋模型的局部邊界,然后基于該線性模型解釋待解釋模型針對該實例的決策依據,其中,線性模型的權重系數直接體現了當前決策中該實例的每一維特征重要性。

LIME 安裝方法

pip?install?lime #?或 conda?install?-c?conda-forge?lime

LIME 使用方法

LIME主要提供三種解釋方法,這三種方法都處理不同類型的數據:

  • 表格解釋

  • 文字翻譯

  • 圖像解釋。

我們將使用Lime的文本解釋方法。

rfc.fit(vectorized_train_text,y) Import?lime From?sklearn.pipeline?import?make_pipeline explainer?=?lime.lime_text.LimeTextExplainer( class_names=["Not?Patient",?"Patient"]) pl?=?make_pipeline(vect,rfc) exp?=?explainer.explain_instance( train["combined_text"][689],?pl.predict_proba) exp.show_in_notebook()

更多使用技巧,文檔參考如下:

https://github.com/marcotcr/lime
3、SHAP

SHAP(SHapley Additive exPlanations)是一種博弈論方法,用于解釋任何機器學習模型的輸出。它使用博弈論中的經典Shapley值及其相關擴展將最佳信用分配與本地解釋聯系起來。

SHAP 安裝方法

pip?install?shap or conda?install?-c?conda-forge?shap

SHAP 使用方法

import?xgboost import?shap#?train?an?XGBoost?model X,?y?=?shap.datasets.boston() model?=?xgboost.XGBRegressor().fit(X,?y)#?explain?the?model's?predictions?using?SHAP #?(same?syntax?works?for?LightGBM,?CatBoost,?scikit-learn,?transformers,?Spark,?etc.) explainer?=?shap.Explainer(model) shap_values?=?explainer(X)#?visualize?the?first?prediction's?explanation shap.plots.waterfall(shap_values[0])

上面的解釋顯示了每個功能都有助于將模型輸出從基值推向模型輸出的功能。推高預測的特征以紅色顯示,推低預測的特征以藍色顯示。可視化相同解釋的另一種方法是使用力圖:

#?visualize?the?first?prediction's?explanation?with?a?force?plot shap.plots.force(shap_values[0])

更多使用技巧,文檔參考如下:

https://github.com/slundberg/shap
4、MLXTEND

Mlxtend(機器學習擴展)是一個用于數據科學和機器學習任務的非常有用 Python 工具庫。

MLXTEND 安裝方法

pip?install?mlxtend or? conda?install?-c?conda-forge?mlxtend?

MLXTEND 使用方法

import?numpy?as?np import?matplotlib.pyplot?as?plt import?matplotlib.gridspec?as?gridspec import?itertools from?sklearn.linear_model?import?LogisticRegression from?sklearn.svm?import?SVC from?sklearn.ensemble?import?RandomForestClassifier from?mlxtend.classifier?import?EnsembleVoteClassifier from?mlxtend.data?import?iris_data from?mlxtend.plotting?import?plot_decision_regions#?Initializing?Classifiers clf1?=?LogisticRegression(random_state=0) clf2?=?RandomForestClassifier(random_state=0) clf3?=?SVC(random_state=0,?probability=True) eclf?=?EnsembleVoteClassifier(clfs=[clf1,?clf2,?clf3],?weights=[2,?1,?1],?voting='soft')#?Loading?some?example?data X,?y?=?iris_data() X?=?X[:,[0,?2]]#?Plotting?Decision?Regions gs?=?gridspec.GridSpec(2,?2) fig?=?plt.figure(figsize=(10,?8))for?clf,?lab,?grd?in?zip([clf1,?clf2,?clf3,?eclf],['Logistic?Regression',?'Random?Forest',?'RBF?kernel?SVM',?'Ensemble'],itertools.product([0,?1],?repeat=2)):clf.fit(X,?y)ax?=?plt.subplot(gs[grd[0],?grd[1]])fig?=?plot_decision_regions(X=X,?y=y,?clf=clf,?legend=2)plt.title(lab) plt.show()

更多使用技巧,文檔參考如下:

https://github.com/rasbt/mlxtend

往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯溫州大學《機器學習課程》視頻 本站qq群851320808,加入微信群請掃碼:

總結

以上是生活随笔為你收集整理的【机器学习】4 款超级棒的模型可解释性工具包,总有一款适合你!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 德国性经典xxxx性hd | 欧美性猛交久久久久 | jjzz在线| 中文字幕理伦片免费看 | 日本欧美国产一区二区三区 | 精品一区二区三区免费 | 内射毛片内射国产夫妻 | 美国一区二区三区 | 伊人影院av | 欧美激情伊人 | 鲁片一区二区三区 | 日韩123区| 午夜精品久久久内射近拍高清 | 999精品在线视频 | 国产视频一区二区在线观看 | jzz国产 | 欧美特级黄色大片 | 涩涩视频在线观看 | 国产成人亚洲精品自产在线 | 欧美 亚洲 一区 | 成人刺激视频 | 免费成人黄色av | 96精品视频| 亚洲一级二级三级 | 99热超碰在线 | www.浪潮av.com| 欧美成人小视频 | 久久久久久逼 | 女仆乖h调教跪趴1v1 | 国模精品一区二区三区 | av黄色成人 | 亚洲免费黄色片 | 欧洲一区二区三区 | 国产a网| 国产处女 | 欧美日韩一区二区区别是什么 | av女优一区 | 亚洲小说专区 | 午夜电影一区二区 | 在厨房拨开内裤进入毛片 | 日本一二三视频 | 狠狠干男人的天堂 | 久久av中文字幕 | 99视频在线观看免费 | www.人人干| 成人性免费视频 | 欧美精品99 | 久久不卡日韩美女 | 黄色av片三级三级三级免费看 | 777四色 | 国产一级一区 | 夜夜操夜夜 | 久久视频在线看 | 一区二区日韩电影 | 精品黄色在线观看 | 男人的天堂aa | 国产午夜av | 国产中文字幕亚洲 | 欧美激情爱爱 | 午夜精品影院 | 日韩欧美三级视频 | 国产a免费| 野花视频在线观看免费 | 中文字幕在线视频播放 | 久草久 | 日韩欧美在线观看一区二区 | av大西瓜 | 91插插影库 | 91精品国产一区 | 一区二区三区在线观看 | 国产麻豆影视 | 亚洲理论在线 | 国内露脸中年夫妇交换 | 好吊色网站 | 小俊大肉大捧一进一出好爽 | 欧美xxxⅹ性欧美大片 | 免费看色 | www.99re.| 91爱国产 | 天天躁日日躁狠狠躁av麻豆男男 | 深夜激情网 | 99国产精品免费视频 | 六月婷婷在线观看 | 免费男女视频 | 亚洲人xxx日本人18 | 三点尽露的大尺度国产 | 午夜性影院 | 大奶一区 | 一区二区三区精品在线观看 | 国产成人精品久久二区二区 | av一区二区三区在线观看 | 激情小视频在线观看 | 精品久久久久久久久久久久久久久 | 人与禽性7777777 | 精人妻一区二区三区 | 另类小说亚洲色图 | 中文字幕另类 | 豆花视频在线播放 | 欧美福利视频一区二区 |