Ошибка в функции обучения пакета каретки (язык R) — недопустимый тип аргумента: «sim» и «obs» должны относиться к классу: c («целое», «числовое», «ts», «zoo»)

У меня проблема с функцией обучения пакета каретки (язык R). При запуске следующего кода:

mdl <- train(m, data=in.train, method="knn", trControl = fitControl, maximize=FALSE, metric="MAE", na.action=na.omit) 

Это дает мне следующую ошибку:

Error in { : 
  task 1 failed - "Invalid argument type: 'sim' & 'obs' have to be of class: c('integer', 'numeric', 'ts', 'zoo')" 

Если я не ошибаюсь, это может быть связано с ошибкой в ​​расчете RMSE или R2 внутри функции поезда. У тебя есть идеи? Я уверен, что мои входные данные не имеют значений NA. Мне было интересно, могут ли смоделированные данные иметь значение NA, которое может вызывать проблему.

Далее следует отслеживание ошибки:

10 stop(simpleError(msg, call = expr)) 

9 e$fun(obj, substitute(ex), parent.frame(), e$data) 

8 foreach(iter = seq(along = resampleIndex), .combine = "c", .verbose = FALSE, 
    .packages = pkgs, .errorhandling = "stop") %:% foreach(parm = 1:nrow(info$loop), 
    .combine = "c", .verbose = FALSE, .packages = pkgs, .errorhandling = "stop") %op% 
    { ... 

7 nominalTrainWorkflow(x = x, y = y, wts = weights, info = trainInfo, 
    method = models, ppOpts = preProcess, ctrl = trControl, lev = classLevels, 
    ...) 

6 train.default(x, y, weights = w, ...) 

5 train(x, y, weights = w, ...) 

4 train.formula(m, data = in.train, method = typeModel, preProcess = c("center", 
    "scale"), trControl = fitControl, maximize = FALSE, metric = "MAD", 
    na.action = na.omit) 

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


person Márcia Baptista    schedule 22.01.2016    source источник
comment
Похоже, вы ввели неправильный класс данных - он ожидает данные класса zoo / timeseries (ts), а функция их не получила.   -  person thelatemail    schedule 22.01.2016
comment
Согласно ошибке, внутренняя функция train ожидает целое число, числовое значение, ts или zoo: я уверен, что мой in.train является числовым потоком (я принудительно использовал in.train ‹- in.train[,sapply(in .train,is.numeric)]). Поэтому я не знаю, как решить проблему.   -  person Márcia Baptista    schedule 22.01.2016


Ответы (1)


Я понял. В основном knn соответствовал модели только для перехвата. Это привело к прогнозам с постоянными значениями и нескольким значениям RMSE NA. Обратите внимание, что прогнозы с нулевой дисперсией имеют неопределенные RMSE и R2.

После включения в модель новых информативных функций я смог выполнить перекрестную проверку.

Похожие ошибки:

Что-то не так; все значения метрики RMSE отсутствуют:

NA's :400 NA's :400

person Márcia Baptista    schedule 22.01.2016