【发布时间】:2019-03-12 12:06:29
【问题描述】:
我在 R 中使用插入符号进行逻辑回归:
ctrl <- trainControl(method = "repeatedcv", number = 10, repeats = 10,
savePredictions = TRUE)
mod_fit <- train(Y ~ ., data=df, method="glm", family="binomial",
trControl = ctrl)
print(mod_fit)
打印的默认指标是准确度和科恩卡帕。我想提取匹配的指标,如敏感性、特异性、阳性预测值等,但我找不到一种简单的方法来做到这一点。提供了最终模型,但它在所有数据上进行了训练(据我从文档中可以看出),所以我不能用它来重新预测。
混淆矩阵计算所有需要的参数,但将其作为汇总函数传递是行不通的:
ctrl <- trainControl(method = "repeatedcv", number = 10, repeats = 10,
savePredictions = TRUE, summaryFunction = confusionMatrix)
mod_fit <- train(Y ~ ., data=df, method="glm", family="binomial",
trControl = ctrl)
Error: `data` and `reference` should be factors with the same levels.
13.
stop("`data` and `reference` should be factors with the same levels.",
call. = FALSE)
12.
confusionMatrix.default(testOutput, lev, method)
11.
ctrl$summaryFunction(testOutput, lev, method)
除了准确率和kappa之外,有没有办法提取这些信息,或者以某种方式在插入符号列车返回的train_object中找到它?
提前致谢!
【问题讨论】:
-
你好辛迪。在使用
caret::train()之前,您是否将数据分成训练组和测试组? -
不,我不是。当我指定交叉验证时,我认为插入符号会为我做这件事。这不正确吗?