Я использую Caret для обучения моей модели (задача двоичной классификации). Как я могу убедиться, что train() не тренируется по метрике точности, а по метрике Specificity (TN/(TN + FP))?Train on Specific
что работает на точность:
control <- trainControl(method="cv", number=10)
metric <- "Accuracy"
set.seed(7)
fit.svm <- train(target_var ~., data=dataset, method="svmRadial", metric=metric, trControl=control)
Это не работает для изменения:
metric = "Specificity"
Кто-нибудь знает, как тренировать модель для оптимизации Специфичность?
KR, Arnand
Thank, если я использую вашу функцию я получаю: «Ошибка '[.data.frame' (data,, lvls [1]): undefined columns selected ' Если я заменил' trControl 'на' trainControl ', он будет работать, но я получу меру Warning: Предупреждающее сообщение: В train.default (x, y, weights = w, ...): Метрика «Spec» не находилась в результирующем наборе. Вместо этого будет использоваться точность. – Arnand
см. В редакторе, вам, вероятно, потребуется 'classProbs = TRUE' внутри' trainControl() ', а набор данных должен быть data.frame. – mtoto
Он работает с классомProbs = TRUE, спасибо! – Arnand