Использование функции прогнозирования из пакета R 'caret' - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь выполнить следующую команду:

predDF <- data.frame(pred.RF, pred.SVM, pred.KNN, pred.NB, pred.BGM, pred.MARS, pred.GAM, pred.SGD, satisfied = pr.out.incl.score.val.2.df.x$satisfied)

modelStack1 <- train(satisfied ~ ., predDF, method = "glm")

testPredLevelOne <- data.frame(pred.RF.3, pred.SVM.3, pred.KNN.3, pred.NB.3, pred.BGM.3, pred.MARS.3, pred.GAM.3, pred.SGD.3, satisfied = pr.out.incl.score.val.3.df.x$satisfied)

combPred1 <- predict(modelStack1, testPredLevelOne)

Фрейм данных predDF содержит 4888 наблюдений (строк), а фрейм данных testPredLevelOne содержит 2632 наблюдений (строк). Из того, что я понимаю, эта разница в количестве наблюдений не должна иметь значения, когда я выполняю combPred1 <- predict(modelStack1, testPredLevelOne). Но когда я выполняю строку, я получаю ошибку ниже:

Warning message:
'newdata' had 2632 rows but variables found have 4888 rows 

Как я могу решить эту ошибку?

Для получения дополнительной информации, когда я делаю str(testPredLevelOne), вывод ниже:

 str(testPredLevelOne)
'data.frame':   2632 obs. of  9 variables:
 $ pred.RF.3  : Factor w/ 2 levels "0","1": 1 1 2 1 2 1 1 2 2 1 ...
 $ pred.SVM.3 : Factor w/ 2 levels "0","1": 1 1 2 2 2 1 1 2 2 2 ...
 $ pred.KNN.3 : Factor w/ 2 levels "0","1": 1 1 2 2 2 2 1 2 2 2 ...
 $ pred.NB.3  : Factor w/ 2 levels "0","1": 1 1 2 2 2 1 1 2 2 1 ...
 $ pred.BGM.3 : Factor w/ 2 levels "0","1": 1 1 2 2 2 1 1 2 2 1 ...
 $ pred.MARS.3: Factor w/ 2 levels "0","1": 1 1 2 2 2 1 1 2 2 2 ...
 $ pred.GAM.3 : Factor w/ 2 levels "0","1": 1 1 2 2 2 1 1 2 2 2 ...
 $ pred.SGD.3 : Factor w/ 2 levels "0","1": 1 1 2 2 2 1 1 2 2 1 ...
 $ satisfied  : Factor w/ 2 levels "0","1": 1 1 2 1 2 1 1 1 1 1 ...

Спасибо,

...