annotate experiments/scripts/cnbh-syllables/results_plotting/plot_munged_results.py @ 138:9dd4aee69f58

- Scripts for plotting summary performance graphs.
author tomwalters
date Mon, 01 Nov 2010 00:31:00 +0000
parents
children a06ab1d44e43
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@138 9 import matplotlib.pyplot as plt
tomwalters@138 10
tomwalters@138 11 f=open("results_test_all.csv","r")
tomwalters@138 12 results = dict()
tomwalters@138 13 for line in f:
tomwalters@138 14 if line[0] != "#":
tomwalters@138 15 values = line.strip().split(",")
tomwalters@138 16 results.setdefault(values[3],dict())
tomwalters@138 17 results[values[3]].setdefault(values[0], dict())
tomwalters@138 18 results[values[3]][values[0]].setdefault(values[1], dict())
tomwalters@138 19 if values[2] == 'clean':
tomwalters@138 20 snr = 40
tomwalters@138 21 else:
tomwalters@138 22 snr = int(values[2])
tomwalters@138 23 results[values[3]][values[0]][values[1]][snr] = float(values[4])
tomwalters@138 24 # results[values[3]].append((values[1],values[2],values[2],values[4]))
tomwalters@138 25
tomwalters@138 26 ax = plt.subplot(111)
tomwalters@138 27
tomwalters@138 28 train_set = 'inner'
tomwalters@138 29 lines = []
tomwalters@138 30 labels = []
tomwalters@138 31 for feature_type in ('mfcc', 'mfcc_vtln', 'aim'):
tomwalters@138 32 for feature_subtype in results[train_set][feature_type].keys():
tomwalters@138 33 this_line = results[train_set][feature_type][feature_subtype].items()
tomwalters@138 34 this_line.sort(cmp=lambda x,y: x[0] - y[0])
tomwalters@138 35 xs, ys = zip(*this_line)
tomwalters@138 36 xs = list(xs)
tomwalters@138 37 ys = list(ys)
tomwalters@138 38 line, = ax.plot(xs,ys,'-o',linewidth=2)
tomwalters@138 39 lines.append(line)
tomwalters@138 40 labels.append(feature_type + "_" + feature_subtype)
tomwalters@138 41 p.legend(lines, labels, 'upper left', shadow=True)
tomwalters@138 42 p.xlabel('SNR/dB')
tomwalters@138 43 p.ylabel('Recognition performance %')
tomwalters@138 44 plt.show()