用于 MLPClassifier 的 Kernel Explainer
神经网络往往非常准确,但由于模型复杂,理解其决策过程并不容易。现在,您将使用 SHAP 的 Kernel Explainer 来解释一个在 adult income 数据集上训练的 MLPClassifier。您将探索在该模型看来,年龄(age)、受教育程度(education)和每周工作小时数(hours worked per week)这 3 个特征中,哪个对预测收入最为重要。
已为您预加载:包含自变量的 X、包含录取决策的 y,以及已训练好的 MLPClassifier model。
本练习是课程的一部分
Python 可解释性 AI
练习说明
- 使用 MLPClassifier
model和从X进行 k-means 抽取的 10 个样本摘要来实例化一个 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()