Thank you for posting the log. I'm now able to reproduce your results. My machine defaults to using 4 threads for the computation, but I needed to use 2 threads to match your output. Note that you do so using the performance statement as follows:
proc hpsplit data=small seed=5 CVCC PLOTS=CVCC cvmethod=random(2) CVMODELFIT NODES=DETAIL;
class y;
model y = x;
GROW entropy;
PRUNE costcomplexity;
performance nthreads = 2;
run;
I suggest that you raise this issue with SAS technical support (make sure they also use nthreads = 2). I think what is happening is the selected tuning parameter is the one with the smallest average squared error based on cross validation. In the documentation for the 'CVMETHOD= random' statement, it says "The average ASE across the k trees is the cross validation error for that set of trees .... the parameter that has the minimum cross validated error is used as the best parameter value."
However, to your point, you are fitting a classification tree, and the error metric for a classification tree is commonly the misclassification rate. In fact, the documentation for prune statement, says "The error metric is misclassification rate for classification trees". I think it is worth confirming with technical support "that PROC HPSPLIT is working as intended.
... View more