R:如何计算和绘制SHAP交互作用值?

vxbzzdmp  于 2023-02-01  发布在  其他
关注(0)|答案(1)|浏览(919)

使用Python计算和绘制SHAP交互值非常容易:https://h1ros.github.io/posts/explain-the-interaction-values-by-shap/https://towardsdatascience.com/analysing-interactions-with-shap-8c4a2bc11c2a
我想在R中做同样的事情,最好使用kernelshap(计算SHAP值)和shapviz(可视化SHAP)包,但是,我很难找到计算SHAP交互值的等价物以及如何绘制它们--有人能帮忙吗?

1rhkuytd

1rhkuytd1#

编辑

"shapviz"的开发版本现在包含

  • 用于SHAP交互的API(用于"树形图"和XGBoost)
  • 主效应和纯交互作用效应的依赖图
  • 尚缺:良好的重要性可视化
  1. devtools::install_github("mayer79/shapviz")
  2. library(shapviz)
  3. library(xgboost)
  4. dtrain <- xgb.DMatrix(data.matrix(iris[, -1]), label = iris[, 1])
  5. fit <- xgb.train(data = dtrain, nrounds = 50)
  6. x2 <- shapviz(fit, X_pred = dtrain, X = iris[, -1], interactions = TRUE)
  7. sv_dependence(x2, "Petal.Length", interactions = TRUE)
  8. sv_dependence(x2, "Petal.Length", color_var = "auto", interactions = TRUE)

enter image description here

原始答案

您可以使用软件包"xgboost"和"treeshap"* 计算 * SHAP值(然后使用"ggplot2"等工具绘制它们)。
使用XGBoost的示例:predict(..., predinteraction=TRUE)

  • 集成到"shapviz"在路线图上,我很快就会开始添加这样的情节):https://github.com/mayer79/shapviz/issues/6(我会添加您的链接)
  • AFAIK,目前还没有关于如何计算核SHAP交互作用的理论。任何参考都是非常感谢的。
展开查看全部

相关问题