annotate scripts/CalcPropNist.py @ 96:17fabd74dd2b

Changed behavior of gaussian noise to apply a gauss filter with a random sigma, and then select some point of the image to be averaged with it
author Xavier Glorot <glorotxa@iro.umontreal.ca>
date Thu, 11 Feb 2010 16:34:25 -0500
parents 7054d7afb948
children 2d671ab3b730
rev   line source
92
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
1 #!/usr/bin/python
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
2 # coding: utf-8
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
3
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
4 '''
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
5 Script qui calcule la proportion de chiffres, lettres minuscules et lettres majuscules
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
6 dans NIST train et NIST test.
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
7
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
8 Sylvain Pannetier Lebeuf dans le cadre de IFT6266, hiver 2010
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
9
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
10 '''
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
11
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
12 from pylearn.io import filetensor as ft
93
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
13 import matplotlib.pyplot as plt
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
14
92
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
15
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
16 #f1 = open('/home/sylvain/Dropbox/Msc/IFT6266/donnees/all_train_labels.ft')
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
17 f1 = open('/data/lisa/data/nist/by_class/all/all_train_labels.ft')
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
18 train = ft.read(f1)
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
19 #f2 = open('/home/sylvain/Dropbox/Msc/IFT6266/donnees/all_test_labels.ft')
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
20 f2 = open('/data/lisa/data/nist/by_class/all/all_test_labels.ft')
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
21 test = ft.read(f2)
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
22 f1.close()
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
23 f2.close()
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
24
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
25 #Les 6 variables
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
26 train_c=0
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
27 train_min=0
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
28 train_maj=0
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
29
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
30 test_c=0
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
31 test_min=0
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
32 test_maj=0
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
33
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
34 classe=0 #variable utilisee pour voir la classe presentement regardee
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
35 #Calcul pour le train_set
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
36 for i in xrange(len(train)):
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
37 classe=train[i]
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
38 if classe < 10:
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
39 train_c += 1
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
40 elif classe < 36:
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
41 train_maj += 1
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
42 elif classe < 62:
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
43 train_min += 1
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
44
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
45 for j in xrange(len(test)):
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
46 classe=test[j]
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
47 if classe < 10:
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
48 test_c += 1
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
49 elif classe < 36:
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
50 test_maj += 1
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
51 elif classe < 62:
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
52 test_min += 1
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
53 print "Train set:",len(train),"\nchiffres:",float(train_c)/len(train),"\tmajuscules:",\
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
54 float(train_maj)/len(train),"\tminuscules:",float(train_min)/len(train)
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
55
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
56 print "\nTest set:",len(test),"\nchiffres:",float(test_c)/len(test),"\tmajuscules:",\
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
57 float(test_maj)/len(test),"\tminuscules:",float(test_min)/len(test)
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
58
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
59 if test_maj+test_min+test_c != len(test):
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
60 print "probleme avec le test, des donnees ne sont pas etiquetees"
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
61
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
62 if train_maj+train_min+train_c != len(train):
708ad2abebdd Petit script primitif utilise pour calculer la proportion des trois classes dans Nist train et test.
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
diff changeset
63 print "probleme avec le train, des donnees ne sont pas etiquetees"
93
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
64
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
65
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
66 #train set
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
67 plt.subplot(211)
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
68 plt.hist(train,bins=62)
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
69 plt.axis([0, 62,0,40000])
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
70 plt.axvline(x=10, ymin=0, ymax=40000,linewidth=2, color='r')
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
71 plt.axvline(x=36, ymin=0, ymax=40000,linewidth=2, color='r')
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
72 plt.text(3,36000,'chiffres')
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
73 plt.text(18,36000,'majuscules')
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
74 plt.text(40,36000,'minuscules')
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
75 plt.title('Train set')
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
76
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
77 #test set
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
78 plt.subplot(212)
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
79 plt.hist(test,bins=62)
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
80 plt.axis([0, 62,0,7000])
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
81 plt.axvline(x=10, ymin=0, ymax=7000,linewidth=2, color='r')
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
82 plt.axvline(x=36, ymin=0, ymax=7000,linewidth=2, color='r')
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
83 plt.text(3,6400,'chiffres')
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
84 plt.text(18,6400,'majuscules')
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
85 plt.text(45,6400,'minuscules')
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
86 plt.title('Test set')
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
87
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
88 #afficher
7054d7afb948 Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents: 92
diff changeset
89 plt.show()