Mercurial > ift6266
annotate scripts/CalcPropNist.py @ 382:87e684bfe538
Ajout de la faculte de prendre PNIST07
author | SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca> |
---|---|
date | Tue, 27 Apr 2010 08:18:10 -0400 |
parents | 2d671ab3b730 |
children |
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:",\ |
95
2d671ab3b730
Rajout du calcul de la proportion de lettres (min+maj)
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
93
diff
changeset
|
54 float(train_maj)/len(train),"\tminuscules:",float(train_min)/len(train),\ |
2d671ab3b730
Rajout du calcul de la proportion de lettres (min+maj)
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
93
diff
changeset
|
55 "\nchiffres:", float(train_c)/len(train),"\tlettres:",float(train_maj+train_min)/len(train) |
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
|
56 |
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 print "\nTest set:",len(test),"\nchiffres:",float(test_c)/len(test),"\tmajuscules:",\ |
95
2d671ab3b730
Rajout du calcul de la proportion de lettres (min+maj)
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
93
diff
changeset
|
58 float(test_maj)/len(test),"\tminuscules:",float(test_min)/len(test),\ |
2d671ab3b730
Rajout du calcul de la proportion de lettres (min+maj)
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
93
diff
changeset
|
59 "\nchiffres:", float(test_c)/len(test),"\tlettres:",float(test_maj+test_min)/len(test) |
2d671ab3b730
Rajout du calcul de la proportion de lettres (min+maj)
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
93
diff
changeset
|
60 |
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
|
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 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
|
63 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
|
64 |
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
|
65 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
|
66 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
|
67 |
7054d7afb948
Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
92
diff
changeset
|
68 |
7054d7afb948
Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
92
diff
changeset
|
69 #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
|
70 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
|
71 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
|
72 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
|
73 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
|
74 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
|
75 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
|
76 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
|
77 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
|
78 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
|
79 |
7054d7afb948
Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
92
diff
changeset
|
80 #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
|
81 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
|
82 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
|
83 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
|
84 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
|
85 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
|
86 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
|
87 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
|
88 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
|
89 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
|
90 |
7054d7afb948
Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
92
diff
changeset
|
91 #afficher |
7054d7afb948
Ajout d'un graphique (histogramme) comparatif pour l'occurence de chaque caractere
SylvainPL <sylvain.pannetier.lebeuf@umontreal.ca>
parents:
92
diff
changeset
|
92 plt.show() |