I am currently trying to fit a conditional inference tree using the ctree function in the party package. So far I see that some of the arguments that control the depth of the tree include mincriterion, minsplit, and minbucket. My goal is to try and create a fully grown tree so that each terminal node has 100% classification (I understand that this means that the tree would be rather large). However even when changing these parameters, e.g. minsplit = 0, minbucket = 0, mincriterion = 0, I still do not get a full grown tree. Some of the terminal nodes give me a probability of being in one class or another.

I am curious as to why this tree is not grown all the way? Are there any arguments that I am not writing in, or is it not possible for these trees to be pure at the temrinal nodes?


  • 1
    $\begingroup$ Could you please try whether this problem persists with the new(er) and recommended implementation of ctree() in the partykit package? If so, please post a reproducible example and we can have a look. $\endgroup$ – Achim Zeileis Aug 28 '17 at 22:20
  • 1
    $\begingroup$ Oh, and please make sure that it is possible to obtain a pure node! Consider an artificial situation with a yes/no response with only a single partitioning variable "gender" left at some node in the tree. If half of all males replied yes and the other half no - and likewise for women, then: (a) The split in gender should not be carried out as it does not improve the model. (b) Even if it were performed, both child nodes would still not be pure. $\endgroup$ – Achim Zeileis Aug 28 '17 at 22:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.