Ошибка при попытке экспортировать модель randomForest в PMML

Я получаю сообщение об ошибке при попытке экспортировать одну из моих «регрессионных» моделей randomForest в PMML.

Код, который я использую для создания модели, выглядит примерно так:

model <- foreach(ntree = rep(100, 10), .combine = combine, .multicombine=TRUE, .packages = "randomForest") %dopar%
    randomForest(train[, variables], y=train[["logprice"]], ntree=ntree)
model

Затем я пытаюсь сохранить модель с помощью

pmml(model, model.name="myFirstPMML_Model", app.name="PMML", data=train)

Затем я получаю сообщение об ошибке

Error in names(field$class) <- var.names: attempt to set an attribute on NULL

Любые подсказки/решения будут высоко оценены.


person herrherr    schedule 02.08.2014    source источник
comment
Было бы полезно, если бы вы могли предоставить воспроизводимый пример, который минимально достаточно, чтобы воспроизвести вашу проблему. Я предполагаю, что модель представляет собой список моделей randomForest? Вы уверены, что pmml принимает список?   -  person MrFlick    schedule 02.08.2014


Ответы (1)


Как правило, функция pmml ожидает объект R и поэтому не будет работать со списком таких объектов; вам придется применять его поэлементно. В этом случае ошибка возникает из-за того, что в текущей версии функция pmml ожидает, что объект randomForest будет создан с использованием формулы... без использования входных матриц. Я планирую добавить эту новую функцию в следующем выпуске, но пока вам придется получать доступ к входным данным с помощью интерфейса формул.

person Tridi    schedule 04.08.2014
comment
Судя по всему, этот функционал до сих пор не добавлен. По-прежнему не работает с входными матрицами. - person Gkhan Cebs; 12.06.2019