我一直在处理一些极不平衡的数据,我想使用分层抽样来创建更加平衡的随机森林
现在,我正在使用插入符号包,主要用于调整随机森林。因此,我尝试设置一个tuneGrid,以将mtry和sampsize参数传递到插入符号训练方法中,如下所示。
mtryGrid <- data.frame(.mtry = 100),.sampsize=80)
rfTune<- train(x = trainX,
y = trainY,
method = "rf",
trControl = ctrl,
metric = "Kappa",
ntree = 1000,
tuneGrid = mtryGrid,
importance = TRUE)
当我运行此示例时,出现以下错误
The tuning parameter grid should have columns mtry
我碰到过类似的讨论这个建议,传递这些参数应该是可能的。
另一方面,此页面建议可以传递的唯一参数是mtry
我什至可以通过插入符号将sampsize传递到随机森林中吗?
您的好像有一个括号问题mtryGrid
。或者,您也可以使用expand.grid
来提供mtry
要尝试的不同值。默认情况下,您可以调整随机森林的唯一参数是mtry
。但是,您仍然可以将其他参数传递给train
。但是那些将具有固定值,因此不会被调整train
。但是您仍然可以要求在中使用分层样本train
。下面是我的操作,假设这trainY
是一个布尔变量,您要根据该变量对样本进行分层,并且希望每个类别的样本大小为80:
mtryGrid <- expand.grid(mtry = 100) # you can put different values for mtry
rfTune<- train(x = trainX,
y = trainY,
method = "rf",
trControl = ctrl,
metric = "Kappa",
ntree = 1000,
tuneGrid = mtryGrid,
strata = factor(trainY),
sampsize = c(80, 80),
importance = TRUE)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句