Каретка модели случайного леса в PMML ошибка

Я хотел бы экспортировать модель случайного леса Caret, используя библиотеку pmml, чтобы я мог использовать ее для прогнозов в Java. Вот репродукция ошибки, которую я получаю.

data(iris)
require(caret)
require(pmml)
rfGrid2 <- expand.grid(.mtry = c(1,2))
fitControl2 <- trainControl(
  method = "repeatedcv",
  number = NUMBER_OF_CV, 
  repeats = REPEATES)

model.Test <- train(Species ~ .,
  data = iris,
  method ="rf",
  trControl = fitControl2,
  ntree = NUMBER_OF_TREES,
  importance = TRUE,  
  tuneGrid = rfGrid2)

print(model.Test)
pmml(model.Test)

Error in UseMethod("pmml") : 
  no applicable method for 'pmml' applied to an object of class "c('train', 'train.formula')"

Некоторое время я гуглил и обнаружил, что на самом деле мало информации об экспорте в PMML. В общем, библиотека pmml содержит случайный лес:

methods(pmml)
 [1] pmml.ada          pmml.coxph        pmml.cv.glmnet    pmml.glm          pmml.hclust       pmml.itemsets     pmml.kmeans      
 [8] pmml.ksvm         pmml.lm           pmml.multinom     pmml.naiveBayes   pmml.nnet         pmml.randomForest pmml.rfsrc       
[15] pmml.rpart        pmml.rules        pmml.svm 

Он работает с использованием прямой модели randomforest, но не обученной каретой.

library(randomForest)
iris.rf <- randomForest(Species ~ ., data=iris, ntree=20)
# Convert to pmml
pmml(iris.rf)
# this works!!!
str(iris.rf)

List of 19
 $ call           : language randomForest(formula = Species ~ ., data = iris, ntree = 20)
 $ type           : chr "classification"
 $ predicted      : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
...

str(model.Test)
List of 22
 $ method      : chr "rf"
 $ modelInfo   :List of 14
  ..$ label     : chr "Random Forest"
  ..$ library   : chr "randomForest"
  ..$ loop      : NULL
  ..$ type      : chr [1:2] "Classification" "Regression"
...

Ответы на вопрос(2)

Ваш ответ на вопрос