[R] How to read this Rpart decision tree
Therneau, Terry M., Ph.D.
therneau at mayo.edu
Wed Feb 11 14:17:40 CET 2015
First:
summary(ss.rpart1)
or summary(ss.rpart, file="whatever")
The printout will be quite long since your tree is so large, so the second form may be
best followed by a perusal of the file with your favorite text editor. The file name of
"whatever" above should be something you choose, of course. This will give you a full
description of the tree. Read the first node or two very carefully so that you understand
what the fit did.
Plotting routines for trees have to make display choices, since there simply is not
enough space available to list all the details. You have a complicated endpoint with at
least 14 different products. The predicted value for the each node of the tree is a
vector of percentages (one per product, adds to one); plots often show only the name of
the most frequent. The alive/dead endpoint for the Titanic data is a lot easier to fit
into a little plotting oval so of course the plotted tree is easier to grasp.
Terry T.
On 02/11/2015 05:00 AM, r-help-request at r-project.org wrote:
> Hi all,
>
> In the attachment or this link (http://oi58.tinypic.com/35ic9qc.jpg) you'll find the decision tree I made. I used the Rpart package to make the tree and the rattle package using the fancyRpartPlot to plot it. The data in the tree looks different than about every example I have seen before. I don't understand how I should read it. I want to predict Product (which are productkeys). The variables to predict it contain age, incomegroup, gender, totalchildren, education, occupation, houseownerflag, numberCars.It looks like the upper number is a ProductKey. The "n" is number of observations? And the percentage of the yes/no question below.
>
> This is the code I used.
>
>> >ss.rpart1 <- rpart(Product ~ ., data=sstrain, control=rpart.control(minbucket=2,minsplit=1, cp=-1))
>> >spt <- which.min(ss.rpart1$cptable[, "xerror"])
>> >scp <- ss.rpart1$cptable[opt, "CP"]
>> >ss.rpart2 <- prune(ss.rpart1, cp=cp)
>> >fancyRpartPlot(ss.rpart2)
> So why does the tree looks so different from the most (for example:http://media.tumblr.com/a9f482ff88b0b9cfaffca7ffd46c6a8e/tumblr_inline_mz7pyuaYJQ1s5wtly.png). This is from Trevor Stephen's TItanic tutorial. The first node show that 62% of 100% doesn't survive. If they were male, only 19% of them were survivors. I find that a lot examples look like that. Why does mine predict per ProductKey and every node it has something else. it doesn't make sense to me. And it doesn't have the two numbers like .62 and .38 but it has n=197e+3. So should I read the first node like "For 100% of the observations of ProductKey 1074, the incomegroup was moderate)"?
>
> Thank you!
>
> Kim
More information about the R-help
mailing list