1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
#!/opt/local/bin/gawk -f
BEGIN{
args = "";
for(i=1; ARGV[i]; i++)
{
args = args " " ARGV[i];
}
}
function success_rate(file , tmp, succ)
{
pipe = "tsm_classify " args " " file;
while ((pipe | getline tmp) > 0)
{
if(match(tmp, /successes\,/))
{
succ = substr(tmp, RSTART+RLENGTH);
}
}
close(pipe);
return 0.0+succ;
}
BEGIN{
sum = 0;
count = 0;
for(i=1; i<=10; i++)
{
succ[i] = success_rate(sprintf("crossval%02d", i));
count++;
sum+=succ[i];
}
avg = sum/count;
var = 0;
for(i=1; i<=10; i++)
{
var += (succ[i]-avg)*(succ[i]-avg);
}
var = var/(count-1);
dev = sqrt(var);
print "Success rate: " avg " +/-" dev " (" args ")";
}
|