1
2
3 from gmisclib import die
4 from gmisclib import fiatio
5 import l_classifier_guts as L
6 import q_classifier_r as Q
7
8
9 N_PER_DIM = 6
10
11
12
14 trd = Q.read_data(trfd)
15 tsd = Q.read_data(tsfd)
16 modelchoice = L.l_classifier_desc(trd+tsd, userank=1, ftrim=ftrim)
17 classout = fiatio.writer(open('classified.fiat', 'w'))
18 classout.header('userank', modelchoice.userank)
19 classout.header('ftrim', modelchoice.ftrim)
20 for (i, c) in enumerate(modelchoice.c):
21 classout.header('Class%0d' % i, c)
22
23 summary, out, wrong = Q.compute_cross_class(trd, tsd,
24 modelchoice = modelchoice,
25 n_per_dim = n_per_dim,
26 builder=Q.forest_build,
27 classout=classout)
28 L.default_writer(summary, out, classout, wrong, modelchoice)
29
30
31
32 if __name__ == '__main__':
33 import sys
34
35 try:
36 import psyco
37 psyco.full(memory=10000)
38 except ImportError:
39 pass
40
41 arglist = sys.argv[1:]
42 ftrim = None
43 while len(arglist)>0 and arglist[0].startswith('-'):
44 arg = arglist.pop(0)
45 if arg == '--':
46 break
47 elif arg == '-c':
48 ftrim = float(arglist.pop(0))
49 elif arg == '-nperdim':
50 N_PER_DIM = int(arglist.pop(0))
51 else:
52 die.die('Unrecognized argument: %s' % arg)
53 assert len(arglist) == 2
54 trfd = open(arglist.pop(0), 'r')
55 tsfd = open(arglist.pop(0), 'r')
56
57 L.go_cross(trfd, tsfd, n_per_dim = N_PER_DIM, ftrim=ftrim)
58