annotate experiments/scripts/cnbh-syllables/results_plotting/plot_munged_results.py @ 251:612ef7b70936

- Offscreen plotting
author tomwalters
date Mon, 01 Nov 2010 01:36:44 +0000
parents 68695cc80fbc
children 988c8b6f7946
rev   line source
tomwalters@138 1 #!/usr/bin/python
tomwalters@138 2 """
tomwalters@138 3 plot_munged_results.py
tomwalters@138 4
tomwalters@138 5 """
tomwalters@138 6
tomwalters@138 7 import numpy as np
tomwalters@138 8 import pylab as p
tomwalters@251 9 import matplotlib as mpl
tomwalters@251 10 mpl.use('PDF')
tomwalters@249 11 import matplotlib.pyplot as plt
tomwalters@140 12
tomwalters@251 13
tomwalters@138 14 f=open("results_test_all.csv","r")
tomwalters@138 15 results = dict()
tomwalters@138 16 for line in f:
tomwalters@138 17 if line[0] != "#":
tomwalters@138 18 values = line.strip().split(",")
tomwalters@138 19 results.setdefault(values[3],dict())
tomwalters@138 20 results[values[3]].setdefault(values[0], dict())
tomwalters@138 21 results[values[3]][values[0]].setdefault(values[1], dict())
tomwalters@250 22 results[values[3]][values[0]][values[1]].setdefault(int(values[4]), dict())
tomwalters@250 23 results[values[3]][values[0]][values[1]][int(values[4])].setdefault(int(values[5]), dict())
tomwalters@250 24 results[values[3]][values[0]][values[1]][int(values[4])][int(values[5])].setdefault(int(values[6]), dict())
tomwalters@138 25 if values[2] == 'clean':
tomwalters@250 26 snr = 50
tomwalters@138 27 else:
tomwalters@138 28 snr = int(values[2])
tomwalters@251 29 results[values[3]][values[0]][values[1]][int(values[4])][int(values[5])][int(values[6])][snr] = float(values[7])
tomwalters@138 30 # results[values[3]].append((values[1],values[2],values[2],values[4]))
tomwalters@138 31
tomwalters@249 32 ax = plt.subplot(111)
tomwalters@249 33
tomwalters@138 34 train_set = 'inner'
tomwalters@249 35 lines = []
tomwalters@249 36 labels = []
tomwalters@250 37 hmm_iterations = 2
tomwalters@250 38 hmm_states = 4
tomwalters@250 39 hmm_components = 4
tomwalters@249 40 for feature_type in ('mfcc', 'mfcc_vtln', 'aim'):
tomwalters@249 41 for feature_subtype in results[train_set][feature_type].keys():
tomwalters@250 42 this_line = results[train_set][feature_type][feature_subtype][hmm_states][hmm_components][hmm_iterations].items()
tomwalters@249 43 this_line.sort(cmp=lambda x,y: x[0] - y[0])
tomwalters@249 44 xs, ys = zip(*this_line)
tomwalters@249 45 xs = list(xs)
tomwalters@249 46 ys = list(ys)
tomwalters@249 47 line, = ax.plot(xs,ys,'-o',linewidth=2)
tomwalters@249 48 lines.append(line)
tomwalters@249 49 labels.append(feature_type + "_" + feature_subtype)
tomwalters@249 50 p.legend(lines, labels, 'upper left', shadow=True)
tomwalters@249 51 p.xlabel('SNR/dB')
tomwalters@249 52 p.ylabel('Recognition performance %')
tomwalters@251 53 plt.savefig(output_file)