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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【机器学习】Github8.9K,目前最佳模型解释器-LIME!

發布時間:2025/3/12 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【机器学习】Github8.9K,目前最佳模型解释器-LIME! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:杰少

模型解釋性--LIME算法

簡 介

簡單的模型例如線性回歸,LR等模型非常易于解釋,但在實際應用中的效果卻遠遠低于復雜的梯度提升樹模型以及神經網絡等模型。現在大部分互聯網公司的建模都是基于梯度提升樹或者神經網絡模型等復雜模型,遺憾的是,這些模型雖然效果好,但是我們卻較難對其進行很好地解釋,這也是目前一直困擾著大家的一個重要問題,現在大家也越來越加關注模型的解釋性。

本文介紹一種解釋機器學習模型輸出的方法LIME。

LIME

LIME(Local Interpretable Model-agnostic Explanations)支持的模型包括:

  • 結構化模型的解釋;

  • 文本分類器的解釋;

  • 圖像分類器的解釋;

LIME被用作解釋機器學習模型的解釋,通過LIME我們可以知道為什么模型會這樣進行預測。

本文我們就重點觀測一下LIME是如何對預測結果進行解釋的。

代 碼

此處我們使用winequality-white數據集,并且將quality<=5設置為0,其它的值轉變為1.

#?!pip?install?lime import?pandas?as?pd from?xgboost?import?XGBClassifier import?shap import?numpy?as?np from?sklearn.model_selection?import?train_test_split df?=?pd.read_csv('./data/winequality-white.csv',sep?=?';') df['quality']?=?df['quality'].apply(lambda?x:?0?if?x?<=?5?else?1) df.head()
fixed acidityvolatile aciditycitric acidresidual sugarchloridesfree sulfur dioxidetotal sulfur dioxidedensitypHsulphatesalcoholquality01234
7.00.270.3620.70.04545.0170.01.00103.000.458.81
6.30.300.341.60.04914.0132.00.99403.300.499.51
8.10.280.406.90.05030.097.00.99513.260.4410.11
7.20.230.328.50.05847.0186.00.99563.190.409.91
7.20.230.328.50.05847.0186.00.99563.190.409.91
#?訓練集測試集分割 X?=?df.drop('quality',?axis=1) y?=?df['quality']? X_train,?X_test,?y_train,?y_test?=?train_test_split(X,?y,?test_size=0.2,?random_state=1) #?模型訓練 model?=?XGBClassifier(n_estimators?=?100,?random_state=42) model.fit(X_train,?y_train) score?=?model.score(X_test,?y_test) score The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. 0.832653061224489

對單個樣本進行預測解釋

下面的圖中表明了單個樣本的預測值中各個特征的貢獻。

import?lime from?lime?import?lime_tabularexplainer?=?lime_tabular.LimeTabularExplainer(training_data=np.array(X_train),feature_names=X_train.columns,class_names=['bad',?'good'],mode='classification' )
  • 模型有84%的置信度是壞的wine,而其中alcohol,total sulfur dioxide是最重要的。

exp?=?explainer.explain_instance(data_row=X_test.iloc[1],?predict_fn=model.predict_proba) exp.show_in_notebook(show_table=True)
  • 模型有59%的置信度是壞的wine,而其中alcohol,chlorides, density, citric acid是最重要的預測參考因素。

exp?=?explainer.explain_instance(data_row=X_test.iloc[3],?predict_fn=model.predict_proba) exp.show_in_notebook(show_table=True)

適用問題

LIME可以認為是SHARP的升級版,它通過預測結果解釋機器學習模型很簡單。它為我們提供了一個很好的方式來向非技術人員解釋地下發生了什么。您不必擔心數據可視化,因為LIME庫會為您處理數據可視化。

參考文獻

  • https://www.kaggle.com/piyushagni5/white-wine-quality

  • LIME: How to Interpret Machine Learning Models With Python

  • https://github.com/marcotcr/lime

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

    總結

    以上是生活随笔為你收集整理的【机器学习】Github8.9K,目前最佳模型解释器-LIME!的全部內容,希望文章能夠幫你解決所遇到的問題。

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