Mercurial > hg > aimc
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() |