Я нахожусь в процессе создания модели Radial SVM Classification, и я хотел бы выполнить 5-кратное резюме и настроить его.Я видел, как другие здесь и следовали этим инструкциям .Однако мой код не хочет реализовывать мою настройку сетки.Кроме того, я не понимаю, почему я не могу получить Точность или значение F1 при явном обучении модели.
С 5-кратным CV
library(caret)
set.seed(500)
ctrl <- trainControl(method = "repeatedcv",
number = 5,
repeats = 3,
classProb=T,
summaryFunction = twoClassSummary
)
sigma<-c(2^-15,2^-13,2^-11,2^-9,2^-7,2^-5,2^-3,2^-1,2^1,2^2,2^3)
C<-c(2^-5,2^-3,2^-1,2^1,2^2,2^3,2^5,2^7,2^9,2^11,2^13)
tuninggrid<-data.frame(expand.grid(sigma,C))
mod <- train(x = iris[-5], y=iris$Species,
method = "svmRadial",
trControl = ctrl,
metric=c('ROC'),
tunegrid=tuninggrid
РезультатыПросто сигма держалась постоянной.Почему он не использует мою сетку настройки?
Во-вторых, когда я настраиваю метрику от 'ROC'
до 'Accuracy'
, он говорит, что точность недоступна.Это я понимаю из-за моей итоговой функции в trainControl.
. Если я ее удаляю, я могу получить точность, но не ROC.В конечном счете, я хотел бы получить и значение F1, но я не могу найти документацию по этому вопросу.Как бы я написал что-то, что дало бы мне оба одновременно?
Наконец, вывод train()
.Чтобы получить вес, он просто использует мод $ finalModel @ coef правильно?