функция предикторов возвращает меньше выборок - PullRequest
0 голосов
/ 09 ноября 2018

Я тренирую модель, используя функцию поезда в пакете Caret R. Когда я тестирую модель в моих тестовых данных, которые имеют 45 выборок, функция прогнозирования возвращает метку классов только для 43 выборок. Я приложил данные rda, которые содержат данные испытаний и мою модель. Я ценю вашу помощь. test_data + модель

Вот код, который я использую:

dim( test_data[,!(colnames(test_data) %in% c('lable')) ])

45 179

dim(predict(mod, test_data[,!(colnames(test_data) %in% c('lable')) ],type="prob"))

43 2

Привет

1 Ответ

0 голосов
/ 09 ноября 2018

В вашем фрейме данных отсутствуют данные:

> pdata = data1[,!(colnames(data1) %in% c('lable')) ]

pdata имеет 45 строк, но:

> ok = complete.cases(pdata)
> sum(ok)
[1] 43

только 43 имеют полные данные.

В каких строках отсутствуют данные?

> rownames(pdata[!ok,])
[1] "GSM1388233" "GSM1388235"

Предупреждение не выдается, потому что в документации написано:

 ## S3 method for class 'train'
 predict(object, newdata = NULL, type = "raw",
   na.action = na.omit, ...)

, который говорит, что пропускает любые строки с отсутствующими данными - молча.

...