如果特征值为 0,如何告诉我的预测模型不评估特征

时间:2021-02-18 19:55:23

标签: python-3.x shap catboostregressor

我正在使用 catboost 回归器来预测几个自变量对因变量的影响。我的因变量是二元的,我的自变量不是。我正在使用 Shap 值方法来计算数据框中每一行的局部解释值。

我有一个这样的 df 构建:

d = {'x1': [0, 1, 2], 'x2': [3, 4, 0], 'Y': [1, 1, 0]}

如您所见,自变量可以取值为 0,这意味着在该组合中该特征缺失,因为其值为 0,但是当该变量值为 0 时,模型会将解释值分配给自变量,这是合乎逻辑的,因为不存在特征也会影响因变量的结果。

为了便于理解,第 1 行具有以下值:

x1 = 0 x2 = 3 y = 1,我的模型为缺失的特征 x1=0,1 和我没有缺失的特征 x2=0.2 分配了一个 shap 值,但是我希望我的模型只分配一个局部解释值如果特征 X1 到 Xn 不等于 0。

我希望我的模型能够理解 0 表示该特定行中该特征的缺失,并且仅当该值不同于 0 时才应分配回归,这可能吗?

0 个答案:

没有答案
相关问题