Ошибка RandomForestSRC и vimp - PullRequest
0 голосов
/ 01 мая 2018

Я пытаюсь выполнить случайный анализ выживаемости в соответствии с виньеткой RANDOMFORESTSRC в R. У меня есть фрейм данных, содержащий 59 переменных, где 14 из них являются числовыми, а остальные являются факторами. 2 из числовых это ВРЕМЯ (дни до смерти) и УМЕР (0/1 мертв или нет). Я сталкиваюсь с 2 проблемами:

trainrfsrc<- rfsrc(Surv(TIME, DIED) ~ .,
                   data = train, nsplit = 10, na.action = "na.impute") 

trainrfsrc дает: Частота ошибок: 17.07%

работает нормально, но изучает частоту появления ошибок, например:

plot(gg_error(trainrfsrc))+ coord_cartesian(y = c(.09,.31)) 

возвращает:

geom_path: Each group consists of only one observation. Do you need to adjust the group aesthetic?

или

a<-(gg_error(trainrfsrc))

a 
error ntree 1 NA 1 2 NA 2 3 NA 3 4 NA 4 5 NA 5 6 NA 6 7 NA 7 8 NA 8 9 NA 9 10 NA 10 

Нет данных для всех 1000 деревьев. Как получается, что нет ошибки для каждого количества пробованных деревьев?

Вторая проблема заключается в попытке изучить наиболее важные переменные с помощью VIMP, такие как:

plot(gg_vimp(trainrfsrc)) + theme(legend.position = c(.8,.2))+ labs(fill = "VIMP > 0")

возвращается:

In gg_vimp.rfsrc(trainrfsrc) : rfsrc object does not contain VIMP information. Calculating...

Есть идеи? Спасибо

1 Ответ

0 голосов
/ 08 мая 2018

Установка err.block = 1 (или некоторого целого числа от 1 до ntree) должна решить проблему возврата NA для ошибки. Вы можете проверить файл справки в разделе rfsrc, чтобы узнать больше об err.block.

...