gpt4 book ai didi

使用插入符号包运行 cforest with controls = cforest_unbiased()

转载 作者:行者123 更新时间:2023-12-04 09:33:44 24 4
gpt4 key购买 nike

我想使用 caret 包运行一个无偏见的 cforest。这可能吗?

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 那样出错。

最佳答案

网格应该是一个简单的数据框,其中有一列名为 .mtry .编码

 g = createGrid("cforest", len, data)

会为你生成那个。如果要指定 ntree您只需通过 controls对象 in 作为 train 的另一个参数但忽略 mtry :
 mod <- train(Species ~ ., data = iris,
method = "cforest",
controls = cforest_unbiased(ntree = 10))
caret照顾变化 mtry为你。

最大限度

关于使用插入符号包运行 cforest with controls = cforest_unbiased(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20337137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com