diff options
Diffstat (limited to 'scripts/results.rb')
-rwxr-xr-x | scripts/results.rb | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/scripts/results.rb b/scripts/results.rb new file mode 100755 index 0000000..1a36278 --- /dev/null +++ b/scripts/results.rb @@ -0,0 +1,36 @@ +#!/usr/bin/env ruby +require 'json' + +result = {} +ARGV.each do |f| + fname = File.basename(f,".json") + program,algo = fname.split('-') + case program + when "tensorflow" + algo == "all" ? algo = "without feature selection" : algo = "with feature selection" + when "lazar" + algo = "high-confidence" if algo == "high" + if algo == "padel" + algo = "PaDEL" + fname.match("high") ? algo += " high-confidence" : algo += " all" + end + end + result[program] ||= {} + result[program][algo] = JSON.parse(File.read(f)).collect{|k,v| [k,v.round(2)]}.to_h +end + +out = {:programs => []} +result.keys.each do |prog| + out[:programs] << {:name => prog, :algos => []} + result[prog].keys.each do |algo| + r = result[prog][algo].dup + result[prog][algo].each do |k,v| + r[k+"_perc"] = (v*100).round + end + r[:name] = algo + r[:abbrev] = prog+"-"+algo + out[:programs].last[:algos] << r + end +end + +puts out.to_json |