comparison scripts/stat_graph.py @ 450:c1df23c98eb6

New script to create histograms for datasets (for the report)
author Arnaud Bergeron <abergeron@gmail.com>
date Mon, 10 May 2010 11:41:02 -0400
parents
children 227ebc0be7ae
comparison
equal deleted inserted replaced
449:7bdd412754ea 450:c1df23c98eb6
1 import matplotlib
2 matplotlib.use('Agg')
3
4 from pylab import *
5 from scipy import stats
6 import numpy
7 from ift6266 import datasets
8
9 nistp_valid = stats.itemfreq(datasets.PNIST07().valid(10000000).next()[1])
10 nist_valid = stats.itemfreq(datasets.nist_all().valid(10000000).next()[1])
11 nist_test = stats.itemfreq(datasets.nist_all().test(10000000).next()[1])
12 print 'nistp_valid', sum(nistp_valid[:,1])
13 print 'nist_valid', sum(nist_valid[:,1])
14 print 'nist_test', sum(nist_test[:,1])
15
16 xloc = numpy.arange(62)+0.5
17
18 labels = map(str, range(10)) + map(chr, range(65,91)) + map(chr, range(97,123))
19
20 def makegraph(data, fname, labels=labels, xloc=xloc, width=0.5):
21 figure(figsize=(8,6))
22 # clf()
23 bar(xloc, data, width=width)
24 xticks([])
25 for x, l in zip(xloc, labels):
26 text(x+width/2, -250, l, horizontalalignment='center', verticalalignment='baseline')
27 # xticks(xloc+width/2, labels, verticalalignment='bottom')
28 xlim(0, xloc[-1]+width*2)
29 ylim(0, 7000)
30
31 savefig(fname)
32
33
34 makegraph(nistp_valid[:,1], 'nistpvalidstats.png')
35 makegraph(nist_valid[:,1], 'nistvalidstats.png')
36 makegraph(nist_test[:,1], 'nistteststats.png')