部分依赖/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,: 部分依赖值目前仅适用于分类和回归问题。

虽然模型是功能性的,我还是设法使用modelstudio绘制了分解图。 关于错误原因的任何想法?模型中是否存在需要专门定义以生成这些图的参数。 za1 是一个数值变量。

解决方法

您需要指定类型。如果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")