我试图了解下面预测模型的形状值。请帮助我理解价值和解释器的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 时需要帮助理解形状错误吗?

Dlib 形状预测器

使用 sklearn cross_val_score 和 kfolds 来拟合和帮助预测模型

模型预测:不兼容的形状

是否可以制作具有 4 维数据形状的 LSTM 模型?

使用预测模型提出建议?