Ошибка в tuneRF в R в случае остановки (n == 0) («data (x) имеет 0 строк»): аргумент имеет нулевую длину - PullRequest
0 голосов
/ 25 ноября 2018

Я хотел бы оптимизировать значения гиперпараметров ctree() (randomforest).Я использую функцию tuneRF.Я получаю следующую ошибку:

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

Вот мой код:

library(party)
library(randomForest)
library(mlbench)
dat1 <- fread('https://archive.ics.uci.edu/ml/machine-learning-databases/abalone/abalone.data',stringsAsFactors=T)

## split data to train and test
set.seed(123)
dat1 <- subset(dat1, !is.na(V1))
smp_size =92
train_ind <- sample(seq_len(nrow(dat1)), size = smp_size)
train <- dat1[train_ind, ]
test <- dat1[-train_ind, ]

ct <- ctree(V1 ~ ., data = train)

И вот мое испытание для нахождения mtry

bestmtry <- tuneRF(train$V1,  train[V2:V9], stepFactor=1.5, improve=1e-5, ntree=500)

1 Ответ

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

Было несколько проблем,

bestmtry <- tuneRF(train[, V2:V9], train$V1, stepFactor = 1.5, improve = 1e-5, ntree = 500)

работает.

...