2016-09-06 14 views
0

Следуя примеру сообщили в ссылке ниже у меня есть следующее сообщение об ошибке:воздействие NA в CARET Поезд

Using nnet for prediction, am i doing it right?

Error in na.fail.default(list(y = c(0, 0.0998334166468282, 0.198669330795061, : missing values in object

Чтобы решить эту ошибку я использую условие na.action = na.omit

#Fit model 
model <- train(y ~ x1 + x2, te, method='nnet', linout=TRUE, trace = FALSE, 
       #Grid of tuning parameters to try: 
       tuneGrid=expand.grid(.size=c(1,5,10),.decay=c(0,0.001,0.1)), 
       na.action = na.omit) 
ps <- predict(model, te) 

is.na(te) 
nrow(te) 
nrow(ps) 

Это условие является единственным способом продолжения?

Фактически, следствие состоит в том, что количество строк ps отличается от числа ps-данных.

ответ

1

Учитывая, что вы отстаете от данных, это, вероятно, лучший подход. Обратите внимание, что:

> sum(!complete.cases(te)) 
[1] 2 

модель не может предсказать эти поэтому

> nrow(ps) 
[1] 199 
> nrow(te) 
[1] 201 

и это потому, что:

> formals(predict.train)$na.action 
na.omit 

(Примечание, что это, вероятно, будет изменен na.fail в следующей версии пакета)

 Смежные вопросы

  • Нет связанных вопросов^_^