I've been learning R over the past couple of years and am attempting to create a regression tree for an analysis at work. I have a dataset of roughly 750K records, a target variable that's numeric, and a corresponding vector of weights. There are no nulls in the target or the weights. When I run rpart(), I get a root node only. So I fiddled with the control parameters and developed a tree with 14 nodes and a depth of 10. I'd really like to get a tree that's a bit simpler and smaller than this. If I raise the cp parameter (I went down to 0.0001 from the default of 0.01 to get a non-root-only result), or raise the minbucket or minsplit parameters, that 14-node tree collapses down to the root only. Shouldn't I be able to get something in between 14 nodes and only one?
I tried using the tree() package and while I'm not quite as familiar with the parameter manipulation in that package, I seem to be running into the same issue, resulting in a "singlenode" tree.
Everything I come across online suggests, at least to me, that I should be able to snip away at the tree until I get something that's the size that I want. While the 14-node result isn't the "bushiest" tree in the world, it doesn't seem like it's overly "stringy" such that it would collapse down with such small tweaks attempting to tighten it up. I've included a picture of the result to illustrate the structure.