2010-04-21 1 views
3

Я попытался отправить письмо автору этого пакета без успеха, просто интересно, если кто-то еще испытал это.R проблем с использованием rpart с 4000 записями и 13 атрибутами

У меня есть rpart на 4000 строк данных с 13 атрибутами. Я могу запустить тот же тест на 300 рядах одних и тех же данных без проблем. Когда я запускаю на 4000 строк, Rgui.exe работает последовательно с 50% CPU, и пользовательский интерфейс висит; он останется таким, как это, по крайней мере 4-5 часов, если я позволю ему бежать, и никогда не выходить и не реагировать.

здесь код я использую как на 300 и 4000 размер подмножества:

train <- read.csv("input.csv", header=T) 
y <- train[, 18] 
x <- train[, 3:17] 
library(rpart) 
fit <- rpart(y ~ ., x) 

Это известное ограничение rpart, я делаю что-то не так? Возможные обходные пути?

+0

Часть проблемы в том, что вы используете 'R' для начала ... whoo. ;-) –

+0

Это невозможно сказать без 'input.csv'. – hadley

+0

Что такое пакет, rpart или mvpart? Обновлены ли ваши пакеты? Вы пробовали другой метод? например rpart (y ~., x, method = "anova")? Я просто попробовал разбить набор данных из 165744 наблюдений и 7 переменных и потребовалось 58.78 секунд –

ответ

1

проблема здесь была информация подготовка ошибка.

заголовок был переписан далеко внизу в середине набора данных.

2

Можете ли вы воспроизвести сообщение об ошибке, когда вы передаете данные случайных данных аналогичных размеров, а не ваши реальные данные (из input.csv)? Если нет, это, вероятно, проблема с вашими данными (возможно, форматирование?). После импорта ваших данных с помощью read.csv проверьте данные для проблем с форматом, просмотрев вывод с str (train).

#How to do an equivalent rpart fit one some random data of equivalent dimension 
dats<-data.frame(matrix(rnorm(4000*14), nrow=4000)) 

y<-dats[,1] 
x<-dats[,-1] 
library(rpart) 
system.time(fit<-rpart(y~.,x)) 
Смежные вопросы