【发布时间】:2016-06-24 18:22:21
【问题描述】:
在使用训练函数将模型拟合到大型不平衡数据集时,是否可以执行分层交叉验证?我知道直接的 k 折交叉验证是可能的,但我的类别非常不平衡。我看过关于这个话题的讨论,但没有真正确定的答案。
提前致谢。
【问题讨论】:
-
我也在寻找答案... 默认情况下,函数 createFolds() 创建分层折叠。但是在trainControl中使用method =“cv”时我不确定train函数。
在使用训练函数将模型拟合到大型不平衡数据集时,是否可以执行分层交叉验证?我知道直接的 k 折交叉验证是可能的,但我的类别非常不平衡。我看过关于这个话题的讨论,但没有真正确定的答案。
提前致谢。
【问题讨论】:
有一个叫'index'的参数可以让用户指定索引做交叉验证。
folds <- 4
cvIndex <- createFolds(factor(training$Y), folds, returnTrain = T)
tc <- trainControl(index = cvIndex,
method = 'cv',
number = folds)
rfFit <- train(Y ~ ., data = training,
method = "rf",
trControl = tc,
maximize = TRUE,
verbose = FALSE, ntree = 1000)
【讨论】: