是否可以在CARET训练函数中选择其他ROC设定点,而不是使用Metric = Roc(我相信它最大化了AUC)。
例如:
random.forest.orig <- train(pass ~ x+y,
data = meter.train,
method = "rf",
tuneGrid = tune.grid,
metric = "ROC",
trControl = train.control)
特别是我有两个类问题(失败或通过),我想最大程度地提高失败预测,同时仍保持> 80%的失败精度(或负预测值)。IE每10个失败,我预测其中至少8个是正确的。
您可以自定义caret::trainControl()
对象以使用AUC而不是准确性来调整模型的参数。请检查嘉年华文档以获取详细信息。(内置功能,两classsummary,将计算ROC曲线下的灵敏度,特异性和面积)。
注意:为了计算类概率,pass
功能必须为因素
这里是使用5倍CV的示例:
fitControl <- caret::trainControl(
method = "cv",
number = 5,
summaryFunction = twoClassSummary,
classProbs = TRUE,
verboseIter = TRUE
)
因此,您的代码将进行一些调整:
random.forest.orig <- train(pass ~ x+y,
data = meter.train,
method = "rf",
tuneGrid = tune.grid,
metric = "ROC",
trControl = fitControl)
# Print model to console to examine the output
random.forest.orig