Это немного неясно, но я надеюсь, что кто-то может помочь.У меня возникли проблемы с преобразованием модели Random Forest в правила с использованием пакета iTrees:
В приведенном ниже примере выдается ошибка: Ошибка в векторе ("list", rf $ ntree): неверный аргумент "length"
require(inTrees)
require(caret)
require(RRF)
x1 <- read.table(header=T, text="B P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 Target
B1 a a a g g g g g g g g g a 9
B2 a g a g g g g g g g g g j 16
B3 a g a g g g g g g g g g a 13
B4 b i b i i i i i i i i i b 10
B5 a f a f f f f f f f f f a 8
B6 a g a g g g g g g g g g a 8
B7 b b b h i i i i i i i i b 29
B8 e g a g g g g g g g g g j 20
B9 a g a g g g g g g g g g a 14
B10 a a g a a j g g g g g g a 22
B11 a h a h h h h h h h h h a 25
B12 a f a f f f f f f f f f j 11
B13 a b a g g g g g g g g g a 18
B14 a a a g g g g g g g g g a 13
B15 b g b i i i i i i i i i j 21
B16 a g a g g g g g g g g g a 17
B17 d j d j j j j j j j j j d 18
B18 a g a g g g g g g g g g a 18
B19 a g a g g g g g g g g g j 14
B20 a g a g g g g g g g g g a 13
")
#View(x1)
#Partition
set.seed(3456)
trainIndex <- createDataPartition(x1$`Target`, p = .8,
list = FALSE,
times = 1)
dataTrain <- x1[ trainIndex,]
dataTest <- x1[-trainIndex,]
# Model with caret
fitControl <- trainControl(## 10-fold CV
method = "repeatedcv",
number = 10,
## repeated ten times
repeats = 10,
savePredictions = "all"
)
set.seed(825)
RFFit1 <- train(Target ~ ., dataTrain,
method = "RRF",
metric = "RMSE",
trControl = fitControl,
verbose = FALSE
)
RFpred1 <- predict(RFFit1, dataTest, type = "raw")
#Translate model to list
treeList <- RF2List(RFFit1)
Когда я проверяю вывод mdoel, кажется, что нет столбца с именем rf $ ntree.Мне интересно, есть ли какое-то отношение к тому факту, что я использую перекрестную проверку с каретой?Если да, есть ли способ использования перекрестной проверки и создания объекта RRF, чтобы его можно было интерпретировать с помощью RF2List?
Любая помощь, как всегда, ценится
Воля.