xval.sh

来自「决策树是用二叉树形图来表示处理逻辑的一种工具。可以直观、清晰地表达加工的逻辑要求」· Shell 代码 · 共 85 行

SH
85
字号
#csh#---------------------------------------------------------------------# N-way cross-validation script#---------------------------------------------------------------------## invocation:#   csh xval.sh filestem N [options for c4.5 and c4.5rules] [suffix]## individual results from each block are left in#     filestem.[rt]o*[suffix],# averages over all blocks in#     filestem.[rt]res[suffix]#---------------------------------------------------------------------#	sort the options into result suffix and control options for the programs#	Note: for options with values, there must be no space between the option#	name and value; e.g. "-v1", not "-v 1"set treeopts =set ruleopts =set suffix =foreach i ( $argv[3-] )  switch ( $i )  case "+*":    set suffix = $i    breaksw  case "-v*":  case "-c*":    set treeopts = ($treeopts $i)    set ruleopts = ($ruleopts $i)    breaksw  case "-p":  case "-t*":  case "-w*":  case "-i*":  case "-g":  case "-s":  case "-m*":    set treeopts = ($treeopts $i)    breaksw  case "-r*":  case "-F*":  case "-a":    set ruleopts = ($ruleopts $i)    breaksw  default:    echo "unrecognised or inappropriate option" $i    exit  endswend#	prepare the data for cross-validationcat $1.data $1.test | xval-prep $2 >XDF.datacp /dev/null XDF.testln $1.names XDF.namesrm $1.[rt]o[0-9]*$suffixset junk = `wc XDF.data`set examples = $junk[1]set large = `expr $examples % $2`set segsize = `expr \( $examples / $2 \) + 1`#	perform the cross-validation trialsset i = 0while ( $i < $2 )  if ( $i == $large ) set segsize = `expr $examples / $2`  cat XDF.test XDF.data | split -`expr $examples - $segsize`  mv xaa XDF.data  mv xab XDF.test  c4.5 -f XDF -u $treeopts >$1.to$i$suffix  c4.5rules -f XDF -u $ruleopts >$1.ro$i$suffix  @ i++end#	remove the temporary files and summarize resultsrm -f XDF.*cat $1.to[0-9]*$suffix | grep "<<" | average >$1.tres$suffixcat $1.ro[0-9]*$suffix | grep "<<" | average >$1.rres$suffix

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?