?? xval.sh
字號:
#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 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 + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -