首页 > 解决方案 > 部分依赖/ALE/ICE 在 r 中绘制 XgBoost

问题描述

我正在尝试为使用 Xgboost 库构建的 r 中的回归 Xgboost 模型绘制 pdp、ale 和 ICE 图。我已经尝试过使用 pdp 库:

library(pdp)

    xv <- data.matrix(subset(data, select = -ICP))  # training features
    p1xv <- partial(xgbc, pred.var = "za1", ice = TRUE, center = TRUE, 
    plot = TRUE, rug = TRUE, alpha = 0.1, plot.engine = "ggplot2", train = xv)

我收到以下错误:

partial.default(xgbc, pred.var = "za1", ice = TRUE, center = TRUE, : 部分依赖值目前仅可用于分类和回归问题。

尽管该模型是功能性的,但我设法使用 modelstudio 绘制了故障图。关于错误原因的任何想法?模型中是否有需要专门定义的参数来生成这些图。za1 是一个数值变量。

标签: xgboostpdp

解决方案


您需要指定类型。如果 ICP 是连续的,请尝试

p1xv <- partial(xgbc, pred.var = "za1", ice = TRUE, center = TRUE, plot = TRUE, rug = TRUE, alpha = 0.1, plot.engine = "ggplot2", train = xv, type = "regression")


推荐阅读