我试图了解下面预测模型的形状值。请帮助我理解价值和解释器的o / p是啥意思?
Posted
技术标签:
【中文标题】我试图了解下面预测模型的形状值。请帮助我理解价值和解释器的o / p是啥意思?【英文标题】:I'm trying to understand the shap values of a predictive model below. Please help me understand what's the o/p of value & explainer means?我试图了解下面预测模型的形状值。请帮助我理解价值和解释器的o / p是什么意思? 【发布时间】:2022-01-16 16:48:48 【问题描述】:x_train,x_test,y_train,y_test=train_test_split(X,Y,test_size=0.3,random_state=42)
rf_model= RandomForestClassifier()
rf_model.fit(x_train, y_train)
rf_pred = rf_model.predict(x_test)
import shap
rf_explainer = shap.TreeExplainer(rf_model, x_train)
rf_vals = rf_explainer.shap_values(x_train)
o/p: 100%|====================| 4778/4792 [03:26
rf_explainer.expected_value
o/p: 数组([0.5763, 0.4237])
(虽然有了概要图,但我明白了每个特征对模型的贡献是什么) (请解释一下输出均值(4778/4792 和数组([0.5763, 0.4237])中的这个数字是什么))
【问题讨论】:
【参考方案1】:rf_explainer.expected_value
被称为“基值”,即模型在整个数据集上的“预期”值,这反过来意味着模型在不了解数据的情况下会预测什么。这些与类频率很接近,但并不完全相等。
在解释模型的预测时:
-
您从基值开始,对于所有数据点(在提供的背景数据集上)都是相同的。
在它们之上添加 SHAP 值以获得实际的模型预测。 SHAP 值将显示特定特征对感兴趣预测的贡献。
【讨论】:
以上是关于我试图了解下面预测模型的形状值。请帮助我理解价值和解释器的o / p是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章
在使用 sklearn 和 keras 构建 CNN 时需要帮助理解形状错误吗?