使用 PDP 包进行分类 xgboost 的部分依赖图



我使用 pdp 包运行线性回归的部分依赖项,使用 xgboost 包是完美的,没有任何警告。但是当我更改为 xgboost 的分类(物流(标签时。我收到部分依赖的警告消息,说部分依赖基于线性,如下所示。我可以问一下是否必须以某种方式修改代码以使用 xgboost 包准确馈送分类对象,以便部分依赖项正确。或者我可以忽略警告消息,它已经是正确的。 我知道随机森林是直截了当的,没有任何警告消息

# Load required packages
library(pdp)
library(xgboost)
# Simulate training data with ten million records
set.seed(101)
trn <- as.data.frame(mlbench::mlbench.friedman1(n = 1e+07, sd = 1))
trn=trn[sample(nrow(trn), 500), ]
trn$y=ifelse(trn$y>16,1,0)
# Fit an XGBoost classification(logistic) model
set.seed(102)
bst <- xgboost(data = data.matrix(subset(trn, select = -y)),
           label = trn$y,
           objective = "reg:logistic",
           nrounds = 100,
           max_depth = 2,
           eta = 0.1)
 #partial dependency plot
  pd <- partial(bst$handle,
            pred.var = c("x.1"), 
            grid.resolution = 10, 
            train = data.matrix(subset(trn, select = -y)),
            prob=TRUE,
            plot = FALSE,
            .progress = "text")
 Warning message:
 In superType.default(object) :
 `type` could not be determined; assuming `type = "regression"`

在这种情况下,您可以安全地忽略警告; 但是,它确实导致我在pdp包中发现了一个小错误,我将很快对此进行修复。感谢您的举报!

最新更新