Ошибка Что-то не так; все значения метрик RMSE отсутствуют при использовании SBC из пакета frbs в Caret

Я пытался подогнать модель, используя метод «SBC» из пакета «frbs» в Caret для R. Я видел похожие вопросы в SO для разных пакетов и пробовал решения, но они, похоже, не работали в моем случае . Я предоставил фрагмент кода для воспроизводимости с использованием набора данных радужной оболочки.

library(caret)
data("iris")
grid<-expand.grid(r.a = c(0.5),
                                     eps.high = c(0.5),
                                     eps.low = c(0))

Fit <- train(Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width, data = iris,
                                 method = "SBC", 
                               #  trControl = fitControl,
                                 tuneGrid=grid,
                                 verbose = TRUE)

Fit$results

Полученная ошибка:

Something is wrong; all the RMSE metric values are missing:
      RMSE        Rsquared  
 Min.   : NA   Min.   : NA  
 1st Qu.: NA   1st Qu.: NA  
 Median : NA   Median : NA  
 Mean   :NaN   Mean   :NaN  
 3rd Qu.: NA   3rd Qu.: NA  
 Max.   : NA   Max.   : NA  
 NA's   :3     NA's   :3    
Error in train.default(x, y, weights = w, ...) : Stopping
In addition: There were 50 or more warnings (use warnings() to see the first 50)

Я проверил предупреждения (), и он показывает, что «подгонка модели не удалась для Resample17: r.a = 0,5, eps.high = 0,5, eps.low = 0. Ошибка в frbs.learn (data.train = структура (c (3,5, 3, 3,2) , 3.1, 3.4, 3.4, : .....". Я даже пытался установить пакет frbs отдельно. Также я убедился, что классы переменных не являются факторами даже для моих данных.

Мой вопрос в том, как я могу исправить эту ошибку и почему эта ошибка возникает. Любая помощь приветствуется.

Заранее спасибо.


person snair.stack    schedule 28.11.2016    source источник
comment
не воспроизводимо, на моей машине работает как положено   -  person Sandipan Dey    schedule 28.11.2016
comment
попробуйте привести переменные predictor к типу factor и посмотрите, сработает ли это?   -  person Aramis7d    schedule 28.11.2016
comment
@sandipan Так может ли эта ошибка зависеть от машины? тот же код работает и в системе моего коллеги. Что-нибудь еще я могу попробовать?   -  person snair.stack    schedule 28.11.2016
comment
@ Aramis7d Поскольку метод предназначен для регрессии, преобразование его в факторы показывает ошибку Error in train.default(x, y, weights = w, ...) : wrong model type for classification   -  person snair.stack    schedule 28.11.2016
comment
может быть, вы захотите сравнить свою версию R/версию каретки/версию ОС и вашего коллеги и т. д.   -  person Sandipan Dey    schedule 28.11.2016
comment
@ snair1591 Думаю, он считает это классификацией, потому что вы конвертируете все переменные в коэффициенты. если вы оставите переменную response, то есть y, как числовую, ее можно будет использовать для регрессии.   -  person Aramis7d    schedule 28.11.2016
comment
@sandipan Так что я проверил с моим коллегой, и версии, похоже, такие же. Я не могу понять, почему такой простой код не работает у меня. Я тренировал свой набор данных с помощью gbm и pls раньше, и они успешно работали.   -  person snair.stack    schedule 28.11.2016
comment
@ Aramis7d Aramis7d Я попробовал, как вы предложили, и преобразовал все остальные, кроме y (например, Sepal.Length в примере), в фактор. Ошибка классификации не пришла, но исходная ошибка осталась.   -  person snair.stack    schedule 28.11.2016


Ответы (1)


Проблема решена благодаря Максу Куну. Ссылка на решение на странице Caret на github приведена здесь.

person snair.stack    schedule 14.01.2019