функция learning_curve_dat() с ошибкой: оператор $ не определен для этого класса S4

#r #machine-learning #svm #caret #s4

Вопрос:

Поэтому я попытался использовать learning_curve_dat() функцию в R для оценки производительности модели, но получил это сообщение об ошибке:

Ошибка: оператор $ не определен для этого класса S4 Вот некоторые коды:

 library(caret)

set.seed(2021)
dat <- twoClassSim(1000)

set.seed(42)
learning <- learning_curve_dat(dat = dat, 
                               outcome = "Class",
                               test_prop = 1/4, 
                               method = "svmRadial", 
                               metric = "ROC",
                               trControl = trainControl(classProbs = TRUE, 
                                                        summaryFunction = twoClassSummary)) 
 

Кто-нибудь знает, как решить эту проблему?

Редактировать

Дополнительная информация: эта проблема применима только к модели классификации svmRadial. Регрессионная модель работает нормально:

 learning <- learning_curve_dat(dat = dat, 
                               outcome = "Class",
                               test_prop = 1/4, 
                               method = "svmRadial", 
                               trControl = trainControl(method="cv")) 

 

Комментарии:

1. Является ли это специфичным для этого method . Я попробовал, lda и это сработало

2. Спасибо, что ответили на этот пост! Я нашел это на tobigithub (строка 225-240), где автор также использовал эту функцию с svmRadial.

3. Есть некоторые параметры, которые передаются по этой ссылке, которая отличается от вашей, т. е. sigma

4. Да, график точности работает хорошо. Так что я не знаю, была ли проблема из-за method="svmRadial" этого? Сообщение об ошибке появилось только тогда, когда я попытался построить ROC-кривую.