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