proc hpsplit data=sashelp.cars;
target origin / level=nominal;
input msrp cylinders length wheelbase mpg_city mpg_highway invoice weight horsepower / level=interval;
input enginesize / level=ordinal;
input drivetrain type / level=nominal;
output nodestats=nstat;
run;
proc sql;
create view treedata as
select a.parent as activity, a.id as node, b.splitvar, b.predictedvalue
from nstat a, nstat b
where a.parent=b.id
union
select c.id as activity, . as node, c.splitvar, c.predictedvalue
from nstat c;
quit;
data treedata1;
set treedata;
select(predictedvalue);
when ('ASIA') _pattern=1;
when ('EUROPE') _pattern=2;
otherwise _pattern=3;
end;
run;
pattern1 c=green; pattern2 v=s c=red; pattern3 v=s c=blue;
footnote c=green 'Asia ' c=red 'Europe ' c=blue 'USA';
proc netdraw data=treedata1 graphics;
actnet /activity=activity successor=NODE id=(splitvar) tree compress rotate rotatetext arrowhead=0 htext=5;
run;
footnote ' ';
Starting in EM14.1, I beleive, PROC HPSPLIT will produce it's own plots