[R] pmml for random forest & rules
    Patrick McCann 
    patmmccann at gmail.com
       
    Mon Oct 10 20:57:36 CEST 2011
    
    
  
Hi,
I am having some trouble using R 2.13.1 for generating a pmml object
of of class "c('randomForest.formula', 'randomForest')"
I see that these methods are available:
> methods(pmml)
 [1] pmml.coxph*    pmml.hclust*   pmml.itemsets* pmml.kmeans*
pmml.ksvm*     pmml.lm*       pmml.multinom* pmml.nnet*
pmml.rpart*
[10] pmml.rsf*      pmml.rules*    pmml.survreg*
However, the R journal 1/1 pg 64 says there should be a method
available ( http://journal.r-project.org/2009-1/RJournal_2009-1_Guazzelli+et+al.pdf
):
Random Forest (and randomSurvivalForest)
— randomForest (Breiman and Cutler. R
port by A. Liaw and M. Wiener, 2009) and randomSurvivalForest
(Ishwaran and Kogalur ,
2009): PMML export of a randomSurvivalForest "rsf" object. This
function gives the user
the ability to export PMML containing the geometry of a forest.
However, if I run these lines of code:
library(randomForest)
(iris.rf<- randomForest(Species ~ ., data=iris))
pmml(iris.rf)
I get this error:
Error in UseMethod("pmml") :
  no applicable method for 'pmml' applied to an object of class
"c('randomForest.formula', 'randomForest')"
Also, if I run these lines of code
data("Adult")
## Mine association rules.
rules <- apriori(Adult,
                 parameter = list(supp = 0.5, conf = 0.9,
                                  target = "rules"))
 pmml(rules)
I get this error:
> pmml(rules)
Error in function (classes, fdef, mtable)  :
  unable to find an inherited method for function "size", for
signature "itemMatrix"
With this traceback:
> traceback()
5: stop("unable to find an inherited method for function \"", fdef at generic,
       "\", for signature ", cnames)
4: function (classes, fdef, mtable)
   {
       methods <- .findInheritedMethods(classes, fdef, mtable)
       if (length(methods) == 1L)
           return(methods[[1L]])
       else if (length(methods) == 0L) {
           cnames <- paste("\"", sapply(classes, as.character),
               "\"", sep = "", collapse = ", ")
           stop("unable to find an inherited method for function \"",
               fdef at generic, "\", for signature ", cnames)
       }
       else stop("Internal error in finding inherited methods; didn't
return a unique method")
   }(list("itemMatrix"), function (object)
   standardGeneric("size"), <environment>)
3: size(is.unique)
2: pmml.rules(rules)
1: pmml(rules)
Thanks,
Patrick McCann
    
    
More information about the R-help
mailing list