0

我正在尝试使用“lime”包来解释带有“import85”数据集的随机森林模型,但是当我运行解释命令时它返回一个错误:

library(lime)
library(caret)

data("imports85", package = "randomForest")

imp85 <- imports85[,-2] 
imp85 <- imp85[complete.cases(imp85), ] 
imp85[] <- lapply(imp85, function(x) if (is.factor(x)) x[, drop=TRUE] else x)
stopifnot(require(randomForest)) 

NROW(imp85)*0.7
idx <- sample(1:NROW(imp85),135)
test <- imp85[idx, c(1:4, 6:25)]
train <- imp85[-idx, c(1:4, 6:25)]
resp <- imp85[[5]][-idx]

model <- train(train, resp, method = 'rf')
explainer <- lime(train, model)

explanation <- explain(test, explainer, n_labels = 1, n_features = 2) 

predict.randomForest(modelFit, newdata, type = "prob") 中的错误:
新数据中的预测变量类型与训练数据的类型不匹配。

我该如何解决?

编辑 1:我试图强制因子变量级别对于训练和测试数据集都相同,但它不起作用

4

0 回答 0