我可以使用caret包运行无偏的cforest吗?这是可行的吗?
然而,如果我想改变ntree,这没有任何影响:
这个不像randomForest一样会出错。
tc <- trainControl(method="cv",
number=f,
index=indexList,
savePredictions=T,
classProbs = TRUE,
summaryFunction = twoClassSummary)
createCfGrid <- function(len, data) {
g = createGrid("cforest", len, data)
g = expand.grid(.controls = cforest_unbiased(mtry = 5, ntree = 1000))
return(g)
}
set.seed(1)
(cfMatFit <- train(as.factor(f1win) ~ .,
data=df,
method="cforest",
metric="ROC",
trControl=tc,
tuneGrid = createCfGrid))
错误为:Error in as.character.default(<S4 object of class "ForestControl">) :
no method for coercing this S4 class to a vector
这是因为cforest_control()不能被强制转换成数据框。如果我使用以下函数,则可以正常工作:
...
g = expand.grid(.mtry = 5)
...
然而,如果我想改变ntree,这没有任何影响:
...
g = expand.grid(.mtry = 5, .ntree = 1000)
...
这个不像randomForest一样会出错。