#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-кривую.