避免对分类特征的 SHAP 值进行后处理
结合 [[CatBoost]] 和 [[SHAP]] 可以提供强大的洞察力。特别是当你使用分类特征时。CatBoost 处理这些特征的方式使你更容易理解使用 SHAP 的模型。
对于其他建模包,我们需要先使用 One-Hot 编码转换分类特征。问题是每个二进制变量都有自己的 SHAP 值。这使得很难看到原始分类特征的整体贡献。
在 [分类特征的 SHAP](…/分类特征的 SHAP) 中,我们探讨了一种解决方案。它涉及深入研究 SHAP 对象并手动添加各个 SHAP 值。这可能很乏味!作为替代方案,我们可以使用 CatBoost。
CatBoost 是一个梯度提升库。与其他库相比,它的一大优势是它可以处理非数值特征。无需转换分类特征即可使用它们。这意味着 CatBoost 模型的 SHAP 值易于解释。每个分类特征只有一个 SHAP 值。
我们将:
- 计算并解释 CatBoost 模型的 SHAP 值
- 应用 SHAP 聚合 ——我们将看到,在理解分类特征的关系时,它们的作用是有限的
- 为了解决这个限制