我一直在使用gbm的caret包中Rstudio找到了故障的发生概率。
我使用 Youden's J 找到了最佳分类的阈值,即 0.63。我现在如何使用这个阈值?我认为最好的方法是以某种方式将阈值合并到gbm模型中caret以获得更准确的预测,然后再次在训练数据上重新运行模型?目前它默认为 0.5,我找不到更新阈值的明显方法。
或者,阈值是否仅用于将测试数据预测分成正确的类别?这似乎更直接,但是我如何反映 ROC_AUC 图中的变化,假设应该根据新阈值更新概率?
任何帮助将不胜感激。谢谢
编辑:我正在处理的完整代码如下:
library(datasets)
library(caret)
library(MLeval)
library(dplyr)
data(iris)
data <- as.data.frame(iris)
# create class
data$class <- ifelse(data$Species == "setosa", "yes", "no")
# split into train and test
train <- data %>% sample_frac(.70)
test <- data %>% sample_frac(.30)
# Set up control function for training
ctrl <- trainControl(method = "cv",
number = 5,
returnResamp = 'none',
summaryFunction = twoClassSummary,
classProbs = …Run Code Online (Sandbox Code Playgroud)