根据速度、复杂性和其他考虑因素比较 SHAP 近似方法
[[KernelSHAP]] 和 [[TreeSHAP]] 都用于近似 [[Shapley]] 值。TreeSHAP速度更快。缺点是它只能与基于树的算法(如[[随机森林]]和 [[xgboost]])一起使用。另一方面,KernelSHAP 与模型无关。这意味着它可以与任何机器学习算法一起使用。我们将比较这两种近似方法。
为此,我们将进行一项实验。这将向我们展示 TreeSHAP 实际上有多快。我们还将探讨树算法的参数如何影响时间复杂度。这些包括树的数量、 深度和特征的数量。在使用 TreeSHAP 进行数据探索时,这些知识非常有用。最后,我们将讨论其他考虑因素(如特征依赖性)如何影响方法。
每次观察的时间
对于第一个实验,我们想看看这些方法计算 [[SHAP]] 值需要多少时间。我们不会介绍用于获取结果的代码,但你可以在 GitHub1 上找到它。总而言之,我们首先模拟回归数据。它有 10000 个样本、 10 个特征和 1 个连续