|
a |
|
b/utils/ensembles.py |
|
|
1 |
"""Utils function for ensembling.""" |
|
|
2 |
import numpy as np |
|
|
3 |
|
|
|
4 |
|
|
|
5 |
def loadPredictions(predictions, fileName, names, test=False, lvl=1): |
|
|
6 |
"""Load prediction from file.""" |
|
|
7 |
if test: |
|
|
8 |
prefix = '../lvl%d/test/test_' % lvl |
|
|
9 |
else: |
|
|
10 |
prefix = '../lvl%d/val/val_' % lvl |
|
|
11 |
temp = np.load(prefix+fileName+'.npy') |
|
|
12 |
assert(len(temp) == len(names)) |
|
|
13 |
for i in range(len(temp)): |
|
|
14 |
predictions[names[i]] = temp[i] |
|
|
15 |
|
|
|
16 |
|
|
|
17 |
def createEnsFunc(ensemble): |
|
|
18 |
"""Create ensemble.""" |
|
|
19 |
func = '' |
|
|
20 |
for model in ensemble: |
|
|
21 |
func += 'preds[\'%s\'],' % (model) |
|
|
22 |
ens = eval('lambda preds : np.c_[%s]' % (func)) |
|
|
23 |
return ens |
|
|
24 |
|
|
|
25 |
|
|
|
26 |
def getLvl1ModelList(): |
|
|
27 |
"""Get the complete list of lvl1 models.""" |
|
|
28 |
# format: [filename, [model names]] |
|
|
29 |
files = [ |
|
|
30 |
['FBL', ['FBL_L1', 'FBL_L2', 'FBL_Sc', 'FBL_LDA', 'FBL_LDA_L1']], |
|
|
31 |
|
|
|
32 |
['FBL_delay100_skip20', |
|
|
33 |
['FBL_delay_L1', 'FBL_delay_L2', 'FBL_delay_Sc', 'FBL_delay_LDA']], |
|
|
34 |
|
|
|
35 |
['FBLC_256pts_alex2', |
|
|
36 |
['FBLCA_L1', 'FBLCA_L2', 'FBLCA_Sc', 'FBLCA_LDA', 'FBLCA_LDA_L1']], |
|
|
37 |
|
|
|
38 |
['FBLCR_256', |
|
|
39 |
['FBLCR_L1', 'FBLCR_L2', 'FBLCR_Sc', 'FBLCR_LDA', 'FBLCR_LDA_L1']], |
|
|
40 |
|
|
|
41 |
['FBLCR_All', ['FBLCAll_Sc', 'FBLCAll_LDA_Sc']], |
|
|
42 |
|
|
|
43 |
['CovsAlex_1-15Hz_500pts', ['C500_[1_15]_LDA', 'C500_[1_15]_LR']], |
|
|
44 |
['CovsAlex_7-30Hz_500pts', ['C500_[7_30]_LDA', 'C500_[7_30]_LR']], |
|
|
45 |
['CovsAlex_20-35Hz_500pts', ['C500_[20_35]_LDA', 'C500_[20_35]_LR']], |
|
|
46 |
['CovsAlex_70-150Hz_500pts', ['C500_[70_150]_LDA', 'C500_[70_150]_LR']], |
|
|
47 |
['CovsAlex_35Hz_250pts', ['C250_[35]_LDA', 'C250_[35]_LR']], |
|
|
48 |
['CovsAlex_35Hz_500pts', ['C500_[35]_LDA', 'C500_[35]_LR']], |
|
|
49 |
['CovsERP_Dist', ['ERPDist_LDA', 'ERPDist']], |
|
|
50 |
|
|
|
51 |
['CovsAlex_1-15Hz_500pts_poly', ['C500_[1_15]_poly_LR']], |
|
|
52 |
['CovsAlex_7-30Hz_500pts_poly', ['C500_[7_30]_poly_LR']], |
|
|
53 |
['CovsAlex_20-35Hz_500pts_poly', ['C500_[20_35]_poly_LR']], |
|
|
54 |
['CovsAlex_70-150Hz_500pts_poly', ['C500_[70_150]_poly_LR']], |
|
|
55 |
['CovsAlex_35Hz_250pts_poly', ['C250_[35]_poly_LR']], |
|
|
56 |
['CovsAlex_35Hz_500pts_poly', ['C500_[35]_poly_LR']], |
|
|
57 |
['CovsERP_Dist_poly', ['ERPDist_poly']], |
|
|
58 |
|
|
|
59 |
['CovAlex_All', ['CAll_LR']], |
|
|
60 |
['CovAlex_old_All', ['CAll_old_LR']], |
|
|
61 |
['CovsRafal_35Hz_256pts', ['CovsRafal_35Hz_256']], |
|
|
62 |
['CovsRafal_35Hz_500pts', ['CovsRafal_35Hz_500']], |
|
|
63 |
|
|
|
64 |
['RNN_FB_delay4000', ['RNN_FB_delay4000']], |
|
|
65 |
|
|
|
66 |
['cnn_script_1D_30Hz', ['CNN_1D_FB30']], |
|
|
67 |
['cnn_script_1D_7-30Hz', ['CNN_1D_FB7-30']], |
|
|
68 |
['cnn_script_1D_5Hz', ['CNN_1D_FB5']], |
|
|
69 |
['cnn_script_2D_30Hz', ['CNN_2D_FB30']], |
|
|
70 |
|
|
|
71 |
['cnn_script_1D_30Hz_shorterDelay', ['CNN_1D_FB30_shorterDelay']], |
|
|
72 |
['cnn_script_2D_30Hz_shorterDelay', ['CNN_2D_FB30_shorterDelay']], |
|
|
73 |
] |
|
|
74 |
return files |