From 90b6b34b9f70f8601fd0a05359edc5a654dccbb7 Mon Sep 17 00:00:00 2001 From: Veeranjaneya Ashok Date: Sat, 22 Nov 2014 18:06:36 +0530 Subject: [PATCH] Added accuracy measure --- accuracy.py | 43 +++++++++++++++++++++++++ script.sh | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 135 insertions(+) create mode 100644 accuracy.py diff --git a/accuracy.py b/accuracy.py new file mode 100644 index 0000000..00e217d --- /dev/null +++ b/accuracy.py @@ -0,0 +1,43 @@ +import time +import math +import sys + +usage = "filename labels_1 labels_2 feature_index" + +def file_len(fname): + with open(fname) as f: + for i, l in enumerate(f): + pass + return i + 1 + + +def accuracy(s1,s2,threshold,feature_index): + line_count = file_len(s1) + f1 = open(s1,'r') + f2 = open(s2,'r') + count = 0 + try: + for i in xrange(line_count): + a = float(f1.readline()) + b = float(f2.readline()) + if((a<=threshold and b<=threshold)or(a>threshold and b>threshold)): + f3.write("1") + count = count + 1 + else: + f3.write("0") + if(float(feature_index)%4!=0): + print("%0.2f\t"%((count*1.0/line_count)*100.0)) + else: + print("%0.2f\t\n"%((count*1.0/line_count)*100.0)) + except IOError: + print("Error: IOError at count %d "%count) + f1.close() + f2.close() + +def main(): + if (len(sys.argv)!=4): + print usage + else: + accuracy(sys.argv[1],sys.argv[2],4.5,sys.argv[3]) + +if __name__ == "__main__":main() \ No newline at end of file diff --git a/script.sh b/script.sh index 310ae66..f0124b5 100644 --- a/script.sh +++ b/script.sh @@ -119,3 +119,95 @@ python regression_logistic.py "data/features_sampled.dat" "data/labels_1.dat" "p python regression_logistic.py "data/features_sampled.dat" "data/labels_2.dat" "predict/sampled_logistic_2.dat" python regression_logistic.py "data/features_sampled.dat" "data/labels_3.dat" "predict/sampled_logistic_3.dat" + +#generate accuracy files +echo "generating raw files" +echo "Linear" >results.dat +python accuracy.py predict/hsic_linear_0.dat data/labels_test_0.dat 1 >>results.dat +python accuracy.py predict/hsic_linear_1.dat data/labels_test_1.dat 2 >>results.dat +python accuracy.py predict/hsic_linear_2.dat data/labels_test_2.dat 3 >>results.dat +python accuracy.py predict/hsic_linear_3.dat data/labels_test_3.dat 4 >>results.dat + +echo "Bayesian" >>results.dat +python accuracy.py predict/hsic_bayesian_0.dat data/labels_test_0.dat 1 >>results.dat +python accuracy.py predict/hsic_bayesian_1.dat data/labels_test_1.dat 2 >>results.dat +python accuracy.py predict/hsic_bayesian_2.dat data/labels_test_2.dat 3 >>results.dat +python accuracy.py predict/hsic_bayesian_3.dat data/labels_test_3.dat 4 >>results.dat + +echo "Dtree" >>results.dat +python accuracy.py predict/hsic_dtree_0.dat data/labels_test_0.dat 1 >>results.dat +python accuracy.py predict/hsic_dtree_1.dat data/labels_test_1.dat 2 >>results.dat +python accuracy.py predict/hsic_dtree_2.dat data/labels_test_2.dat 3 >>results.dat +python accuracy.py predict/hsic_dtree_3.dat data/labels_test_3.dat 4 >>results.dat + +echo "svr" >>results.dat +python accuracy.py predict/hsic_svr_0.dat data/labels_test_0.dat 1 >>results.dat +python accuracy.py predict/hsic_svr_1.dat data/labels_test_1.dat 2 >>results.dat +python accuracy.py predict/hsic_svr_2.dat data/labels_test_2.dat 3 >>results.dat +python accuracy.py predict/hsic_svr_3.dat data/labels_test_3.dat 4 >>results.dat + +echo "logistic" >>results.dat +python accuracy.py predict/hsic_logistic_0.dat data/labels_test_0.dat 1 >>results.dat +python accuracy.py predict/hsic_logistic_1.dat data/labels_test_1.dat 2 >>results.dat +python accuracy.py predict/hsic_logistic_2.dat data/labels_test_2.dat 3 >>results.dat +python accuracy.py predict/hsic_logistic_3.dat data/labels_test_3.dat 4 >>results.dat + +echo "Linear" >>results.dat +python accuracy.py predict/sampled_linear_0.dat data/labels_test_0.dat 1 >>results.dat +python accuracy.py predict/sampled_linear_1.dat data/labels_test_1.dat 2 >>results.dat +python accuracy.py predict/sampled_linear_2.dat data/labels_test_2.dat 3 >>results.dat +python accuracy.py predict/sampled_linear_3.dat data/labels_test_3.dat 4 >>results.dat + +echo "Bayesian" >>results.dat +python accuracy.py predict/sampled_bayesian_0.dat data/labels_test_0.dat 1 >>results.dat +python accuracy.py predict/sampled_bayesian_1.dat data/labels_test_1.dat 2 >>results.dat +python accuracy.py predict/sampled_bayesian_2.dat data/labels_test_2.dat 3 >>results.dat +python accuracy.py predict/sampled_bayesian_3.dat data/labels_test_3.dat 4 >>results.dat + +echo "Dtree" >>results.dat +python accuracy.py predict/sampled_dtree_0.dat data/labels_test_0.dat 1 >>results.dat +python accuracy.py predict/sampled_dtree_1.dat data/labels_test_1.dat 2 >>results.dat +python accuracy.py predict/sampled_dtree_2.dat data/labels_test_2.dat 3 >>results.dat +python accuracy.py predict/sampled_dtree_3.dat data/labels_test_3.dat 4 >>results.dat + +echo "svr" >>results.dat +python accuracy.py predict/sampled_svr_0.dat data/labels_test_0.dat 1 >>results.dat +python accuracy.py predict/sampled_svr_1.dat data/labels_test_1.dat 2 >>results.dat +python accuracy.py predict/sampled_svr_2.dat data/labels_test_2.dat 3 >>results.dat +python accuracy.py predict/sampled_svr_3.dat data/labels_test_3.dat 4 >>results.dat + +echo "logistic" >>results.dat +python accuracy.py predict/sampled_logistic_0.dat data/labels_test_0.dat 1 >>results.dat +python accuracy.py predict/sampled_logistic_1.dat data/labels_test_1.dat 2 >>results.dat +python accuracy.py predict/sampled_logistic_2.dat data/labels_test_2.dat 3 >>results.dat +python accuracy.py predict/sampled_logistic_3.dat data/labels_test_3.dat 4 >>results.dat + +echo "Linear" >>results.dat +python accuracy.py predict/rrt_linear_0.dat data/labels_test_0.dat 1 >>results.dat +python accuracy.py predict/rrt_linear_1.dat data/labels_test_1.dat 2 >>results.dat +python accuracy.py predict/rrt_linear_2.dat data/labels_test_2.dat 3 >>results.dat +python accuracy.py predict/rrt_linear_3.dat data/labels_test_3.dat 4 >>results.dat + +echo "Bayesian" >>results.dat +python accuracy.py predict/rrt_bayesian_0.dat data/labels_test_0.dat 1 >>results.dat +python accuracy.py predict/rrt_bayesian_1.dat data/labels_test_1.dat 2 >>results.dat +python accuracy.py predict/rrt_bayesian_2.dat data/labels_test_2.dat 3 >>results.dat +python accuracy.py predict/rrt_bayesian_3.dat data/labels_test_3.dat 4 >>results.dat + +echo "Dtree" >>results.dat +python accuracy.py predict/rrt_dtree_0.dat data/labels_test_0.dat 1 >>results.dat +python accuracy.py predict/rrt_dtree_1.dat data/labels_test_1.dat 2 >>results.dat +python accuracy.py predict/rrt_dtree_2.dat data/labels_test_2.dat 3 >>results.dat +python accuracy.py predict/rrt_dtree_3.dat data/labels_test_3.dat 4 >>results.dat + +echo "svr" >>results.dat +python accuracy.py predict/rrt_svr_0.dat data/labels_test_0.dat 1 >>results.dat +python accuracy.py predict/rrt_svr_1.dat data/labels_test_1.dat 2 >>results.dat +python accuracy.py predict/rrt_svr_2.dat data/labels_test_2.dat 3 >>results.dat +python accuracy.py predict/rrt_svr_3.dat data/labels_test_3.dat 4 >>results.dat + +echo "logistic" >>results.dat +python accuracy.py predict/rrt_logistic_0.dat data/labels_test_0.dat 1 >>results.dat +python accuracy.py predict/rrt_logistic_1.dat data/labels_test_1.dat 2 >>results.dat +python accuracy.py predict/rrt_logistic_2.dat data/labels_test_2.dat 3 >>results.dat +python accuracy.py predict/rrt_logistic_3.dat data/labels_test_3.dat 4 >>results.dat \ No newline at end of file