python解釋模型庫Shap實現(xiàn)機器學(xué)習(xí)模型輸出可視化
解釋一個機器學(xué)習(xí)模型是一個困難的任務(wù),因為我們不知道這個模型在那個黑匣子里是如何工作的。解釋是必需的,這樣我們可以選擇最佳的模型,同時也使其健壯。
我們開始吧…
安裝所需的庫
使用pip安裝Shap開始。下面給出的命令可以做到這一點。
pip install shap
導(dǎo)入所需庫
在這一步中,我們將導(dǎo)入加載數(shù)據(jù)、創(chuàng)建模型和創(chuàng)建該模型的可視化所需的庫。
df = pd.read_csv('/content/Diabetes.csv')
features = ['Pregnancies', 'Glucose','BloodPressure','SkinThickness','Insulin','BMI','DiabetesPedigreeFunction','Age']
Y = df['Outcome']
X = df[features]
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.2, random_state = 1234)
xgb_model = xgb.XGBRegressor(random_state=42)
xgb_model.fit(X_train, Y_train)
創(chuàng)建模型
在這一步中,我們將創(chuàng)建機器學(xué)習(xí)模型。在本文中,我將創(chuàng)建一個XGBoost模型,但是你可以選擇任何模型。我們將用于此模型的數(shù)據(jù)集是著名的糖尿病數(shù)據(jù)集,可從Kaggle下載。
df = pd.read_csv('/content/Diabetes.csv')
features = ['Pregnancies', 'Glucose','BloodPressure','SkinThickness','Insulin','BMI','DiabetesPedigreeFunction','Age']
Y = df['Outcome']
X = df[features]
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.2, random_state = 1234)
xgb_model = xgb.XGBRegressor(random_state=42)
xgb_model.fit(X_train, Y_train)

創(chuàng)建可視化
現(xiàn)在我們將為shap創(chuàng)建解釋程序,找出模型的shape值,并使用它們創(chuàng)建可視化效果。
explainer = shap.Explainer(xgb_model) shap_values = explainer(X_test)
1、Bar Plot
shap.plots.bar(shap_values, max_display=10)

2、隊列圖
shap.plots.bar(shap_values.cohorts(2).abs.mean(0))

3、熱圖
shap.plots.heatmap(shap_values[1:100])

4、瀑布圖
shap.plots.waterfall(shap_values[0]) # For the first observation

5、力圖
shap.initjs()
explainer = shap.TreeExplainer(xgb_model)
shap_values = explainer.shap_values(X_test)
def p(j):
return(shap.force_plot(explainer.expected_value, shap_values[j,:], X_test.iloc[j,:]))
p(0)

6、決策圖
shap_values = explainer.shap_values(X_test)[1]
print("The expected value is ", expected_value)
print("The final prediction is ", xgb_model.predict(X_test)[1])
shap.decision_plot(expected_value, shap_values, X_test)

這就是如何使用 Shap 創(chuàng)建與機器學(xué)習(xí)模型相關(guān)的可視化并對其進(jìn)行分析。
以上就是python解釋模型庫Shap實現(xiàn)機器學(xué)習(xí)模型輸出可視化的詳細(xì)內(nèi)容,更多關(guān)于python解釋模型庫Shap模型輸出可視化的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Pandas中DataFrame對象轉(zhuǎn)置(交換行列)
本文主要介紹了Pandas中DataFrame對象轉(zhuǎn)置(交換行列),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
python 文件轉(zhuǎn)成16進(jìn)制數(shù)組的實例
今天小編就為大家分享一篇python 文件轉(zhuǎn)成16進(jìn)制數(shù)組的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07
Python學(xué)習(xí)之字典的創(chuàng)建和使用
這篇文章主要為大家介紹了Python中的字典的創(chuàng)建與使用,包括使用字典(添加、刪除、修改等操作),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-06-06
windows中安裝Python3.8.0的實現(xiàn)方法
這篇文章主要介紹了windows中安裝Python3.8.0的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
python elasticsearch環(huán)境搭建詳解
在本篇文章里小編給大家整理的是關(guān)于python elasticsearch環(huán)境搭建的相關(guān)知識點內(nèi)容,有需要的朋友們可以參考下。2019-09-09
Python 數(shù)據(jù)結(jié)構(gòu)之旋轉(zhuǎn)鏈表
這篇文章主要介紹了Python 數(shù)據(jù)結(jié)構(gòu)之旋轉(zhuǎn)鏈表的相關(guān)資料,需要的朋友可以參考下2017-02-02
Python實現(xiàn)圖書管理系統(tǒng)設(shè)計
這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)圖書管理系統(tǒng)設(shè)計,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
Python監(jiān)聽鍵盤和鼠標(biāo)事件的示例代碼
這篇文章主要介紹了Python監(jiān)聽鍵盤和鼠標(biāo)事件的示例代碼,幫助大家更好的理解和使用python,提高辦公效率,感興趣的朋友可以了解下2020-11-11
PyTorch的自適應(yīng)池化Adaptive Pooling實例
今天小編就為大家分享一篇PyTorch的自適應(yīng)池化Adaptive Pooling實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01

