2016-07-25 2 views
2

Я настроил свою случайную модель леса очень хорошо, увидеть кодСлучайные леса модель ошибка (ошибка в случае (п == 0) остановка («данные (х) имеет 0 строк»))

modelRF <- randomForest(x=p$NDVI, 
        y=p$BushCategories, 
        ntree=500, do.trace=TRUE, 
        importance=TRUE, forest=TRUE, na.action=na.omit) 

, но тогда это дает погрешность ниже

Error in if (n == 0) stop("data (x) has 0 rows") : 
argument is of length zero 

Смотрите структуру моих данных ниже

'data.frame': 197 obs. of 5 variables: 
$ Waypoint_No : chr "OMATSC028" "OMATSC200" "OMATSC072N" "OMATSC317" ... 
$ Longitude  : num 17.7 17.6 17.8 17.9 17.9 ... 
$ Latitude  : num -21.2 -21.2 -21.1 -20.9 -21.1 ... 
$ NDVI   : num 0.256 0.327 0.25 0.268 0.283 ... 
$ BushCategories: Factor w/ 4 levels "0-25%","26-50%",..: 3 1 2 3 2 3 1 2 1 
1 ... 

Что может быть проблема?

Вот пример того, как мой набор данных выглядит

x<-c('0.256', '0.327', '0.25', '0.268') 
y<-c('0-25%','26-50%','51-75%','76-100%') 
data<-data.frame(x,y)      
+0

'na.action = na.omit'? У вас есть НС на каждом ряду? См. Http://stackoverflow.com/questions/8370455/how-to-build-random-forests-in-r-with-missing-na-values ​​ – zx8754

+0

Нет NA, я удалил функцию NA и все еще получаю эта ошибка. – jmutua

+0

Просьба предоставить [воспроизводимые данные] (http://stackoverflow.com/questions/5963269), поэтому мы получаем ту же ошибку. – zx8754

ответ

0

Ваша формула (первый вход в RandomForest) является неправильным. Вы должны указать типы классов и данные обучения в своей формуле, чтобы алгоритмы знали, что нужно тренировать.

В вашем случае, я полагаю, вы пытаетесь предсказать NDVI от BushCategories. Таким образом, формула, которую вы должны использовать, - NDVI ~ BushCategories. Второй элемент - данные обучения. Так что просто исправьте это, и он должен сработать для вас.

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

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