#!/bin/tcsh -f

if ($#argv != 4) then
  echo "Usage: grow.tree file_stem train_set_size tree_type seed"
  echo ""
  echo "For example, to train a C4 decision tree on 100 cases"
  echo "drawn from the glass data set using random seed 123:"
  echo ""
  echo "grow.tree glass 100 c4 123 | more"
  exit
endif

set stem  = $1
set train = $2
set prog  = $3
set seed  = $4

set test = `echo $train | dm "x1 + 1"`
set total = `wc -l < ${stem}.dta`

/bin/rm -f ${stem}.bld ${stem}.tst
perm -s $seed < ${stem}.dta | linex 1-$train     > ${stem}.bld
perm -s $seed < ${stem}.dta | linex $test-$total > ${stem}.tst
#cat ${stem}.dta | linex 1-$train     > ${stem}.bld
#cat ${stem}.dta | linex $test-$total > ${stem}.tst

mktree -v -e -s $prog $stem | linex 1-5 10
echo ""

/bin/rm -f tree
tprint -cdi ${stem}.attr ${stem}.treec > tree
cat tree | less
echo ""

/bin/rm -f tree.p
tprint -p ${stem} > tree.p
cat tree.p | less
#echo ""

/bin/rm -f targets preds
colex 1 < ${stem}.tst > targets
tclass -e -p ${stem}.attr ${stem}.tree ${stem}.tst | tr "+" "\t" | abut targets - | colex -it 25a1 8.4n2-10 > preds
cat -n preds | less
