我正在使用插入符号进行交叉折叠验证来拟合模型:
library(caret)
## tuning & parameters
set.seed(123)
train_control <- trainControl(
method = "cv",
number = 5,
savePredictions = TRUE,
verboseIter = TRUE,
classProbs = TRUE,
summaryFunction = my_summary
)
linear_model = train(
x = select(training_data, Avg_Load_Time),
y = target,
trControl = train_control,
method = "glm", # logistic regression
family = "binomial",
metric = "ROC"
)
问题是,在大约5K行中,我只有大约120个真实的案例。这是在使用GLM时通过插入符号"glm.fit:适合的概率数字0或1发生“抛出的警告消息。
有没有一个我可以设置的参数或者某种方法来确保每个折叠都有一些真实的情况?
发布于 2019-03-06 22:39:57
当您对数据进行混洗并且每个类都有足够的示例时,这会更容易。
如果没有足够的示例,可以使用SMOTE (合成少数过采样技术)增加少数类的大小。在R.中打包smotefamily
。
然后,您将能够进行5折或10折交叉验证,而不会引发任何问题。
https://stackoverflow.com/questions/55033278
复制相似问题