Hi,
I'm trying to extract the rules from every tree in the random forest model
that I've created. I've used randomForest2Rules function from
"rattle"
package however I get an error "Error in if (var.class ==
"character" |
var.class == "factor") { :
argument is of length zero"
Sample code:
library(rattle)
library(randomForest)
iris.10tree <- randomForest(Species ~ ., data=iris, ntree=10)
iris.10tree
printRandomForests(iris.10tree) #this prints the rules as described in the
vignette
ruleset<-randomForest2Rules(iris.10tree) # this does not work and gives the
error I mentioned above.
Rattle package: http://cran.r-project.org/web/packages/rattle/rattle.pdf
Please can someone tell me where I'm going wrong.
--
View this message in context:
http://r.789695.n4.nabble.com/randomForest2Rules-tp3822530p3822530.html
Sent from the R help mailing list archive at Nabble.com.
Hi, The work around this is to use printRandomForests function in Rattle package. It outputs the forest in the form of rules. For ex: #Load libraries library(rattle) library(randomForest) #Load sample data data(iris) #Build a forest iris.rf <- randomForest(Species ~ ., data=iris, importance=TRUE,keep.forest=T, ntree=5, do.trace=T) iris.rf #send rules in above forest to a textfile sink(file = "rfrules.txt", append = FALSE, type = "output") printRandomForests(iris.rf) sink() After getting the rules in to a text file, and because the text is structured, you can use the language of your choice to transform the rules in to a format you need. -- View this message in context: http://r.789695.n4.nabble.com/randomForest2Rules-tp3822530p4423956.html Sent from the R help mailing list archive at Nabble.com.