我使用来自sklearn的HashingVectorizer()
来表示将数据散列成n列的数据集的唯一id,并且我想计算该数据的总SHAP值。正确的方法是简单地将所有的平均SHAP值加在一起,还是取值的平均值
我认为在没有大量额外工作的情况下,最接近您的方法是shap.explainers.Partition
,它将接受或计算特征的分层聚类。
或者,定义你自己的掩码器更有原则——你应该能够像这里描述的那样为每个输入提供一个掩码器列表。