MLPClassifier 的 Kernel Explainer
類神經網路的準確度常常很高,但由於模型複雜,想理解其決策並不容易。現在,你將運用 SHAP Kernel Explainer 來解釋一個在 adult income 資料集上訓練的 MLPClassifier。你會探索在這個模型中,年齡(age)、教育程度(education),或每週工時(hours worked per week)這三個特徵,哪一個對於預測收入最重要。
已為你預先載入含有自變數的 X、含有錄取決策的 y,以及預先訓練好的 MLPClassifier model。
本練習屬於課程
Python 的 Explainable AI
練習說明
- 使用 MLPClassifier
model,以及從X取 10 個樣本的 k-means 摘要,建立一個 SHAP Kernel Explainer。 - 為
X產生shap_values。 - 計算 SHAP 絕對值的平均,以找出影響錄取結果的關鍵因素。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
import shap
# Create a SHAP Kernel Explainer
explainer = ____
# Calculate SHAP values
shap_values = ____
# Calculate mean absolute SHAP values
mean_abs_shap = ____
plt.bar(X.columns, mean_abs_shap)
plt.title('Mean Absolute SHAP Values for MLPClassifier')
plt.xticks(rotation=45)
plt.show()