Random Forest Usage: I have run random forest in R. It gave me confusion matrix and variable importance. Variable importance can be used to rank importance of variables in the model. My question is how i can use random forest for classification, like decision tree. I have also run decision tree. It gave me RULES to classify my data. Can random forest produce same classification? Or any kind of classification criteria? Did i miss something in random forest code?
Yes, you can use random forests to get predictions, but it's not something that you can easily do "by hand" as for a classification tree.
Random forests generate a large number of classification trees, and then does a majority vote to generate prediction so you don't get a single "set of rules" like in a classification tree.
library(randomForest) # Set RNG seed, for reproducibility set.seed(12345) # We'll use the iris data # Let's split it into 30% test set and 70% training set training.set <- sample(seq(nrow(iris)), nrow(iris)*0.7) # Generate a random forest with 500 trees rf <- randomForest(Species~., iris[training.set,], ntree = 500) print(rf)
OOB estimate of error rate: 3.81% Confusion matrix: setosa versicolor virginica class.error setosa 37 0 0 0.00000000 versicolor 0 32 3 0.08571429 virginica 0 1 32 0.03030303
Now, to test it on the test set
res <- predict(rf, iris[-training.set,1:4]) table(real=iris[-training.set, 5], predicted=res) predicted real setosa versicolor virginica setosa 13 0 0 versicolor 0 15 0 virginica 0 3 14
If you want to look at single trees used by your random forest you can use the
You may also want to have a look at: