Path from root to leaf node in mvpart

December 1, 2011
By

(This article was first published on indiacrunchin » R, and kindly contributed to R-bloggers)

I was recently asked by a R user about how one could extract the “rule” in a classification/regression tree. The requirement was to obtain the path traced from the root node to the leaf nodes and obtain all the paths or “rules”

path.rpart() function in the mvpart package provides this convenience


library(mvpart)

# Create a classification tree
ozone <- mvpart(Ozone ~ ., data=airquality)
print(ozone) # Gives you the various splits in the tree

# Issue the two commands below to see the graphical representation
plot(ozone)
text(ozone)

# To obtain the summary of the created tree
summary(ozone)

# To obtain the path to the leaf nodes
leafnodeRows <- grepl("leaf",ozone$frame$var)
nodevals <- as.numeric(rownames(ozone$frame)[leafnodeRows])
rules <- path.rpart(ozone,nodevals)
rulesdf <- do.call("rbind",lapply(rules,function(x)paste(x,collapse = " -AND- ")))
rulesdf <- data.frame(nodeNumber=rownames(rulesdf),rule=rulesdf[,1],stringsAsFactors=FALSE)

To leave a comment for the author, please follow the link and comment on their blog: indiacrunchin » R.

R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...



If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.

Sponsors

Mango solutions



plotly webpage

dominolab webpage



Zero Inflated Models and Generalized Linear Mixed Models with R

Quantide: statistical consulting and training

datasociety

http://www.eoda.de







ODSC

ODSC

CRC R books series





Six Sigma Online Training









Contact us if you wish to help support R-bloggers, and place your banner here.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)