-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.yaml
More file actions
43 lines (33 loc) · 2.09 KB
/
config.yaml
File metadata and controls
43 lines (33 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
envfile: 'env.yaml'
# solvers are SVR, LSSVR, MSVR, MSVR2, ELSSVR, MLSSVR, ANNind, ANN
solver: [SVR, LSSVR, MSVR2, ELSSVR, MLSSVR]
# files are synthetic_1_2, synthetic_3_4, synthetic_1_2_outliers, Synthetic_MSVR, Synthetic_ELSSVR, Synthetic_MLSSVR
file: [synthetic_1_2, synthetic_3_4, synthetic_1_2_outliers]
# only for bootstrapping
test_percentage: [50] # how many percent of the whole data is in the test set
validation_percentage: [50] # how many percent of the (outer) training data is in the validation set
repetitions: 10 # how often to repeat bootstrapping
# only for nested cross-validation
n_splits_outer: 5
n_splits_inner: 5
imputation: [False, True] # True: record-wise, False: subject-wise
metric: ['RMSE', 'MAE'] # implemented in scripts/functions.py: RMSE, MAE; workflow only works for metrics where low scores are better than high scores, but this can be adjusted by multiplying the other metrics by -1
kernel: ['rbf'] # implemented in scripts/functions.py: rbf
kernel_param: [default] # default: same as scikit-learn's SVR, see scripts/functions.py, M-SVR: 0.5, ELS-SVR: 0.1, MLS-SVR: 2e-15, 2e-13, 2e-11, 2e-9, 2e-7, 2e-5, 2e-3, 2e-1, 2e1, 2e3
C: [0.1, 1, 10, 100] # M-SVR: 10 # ELS-SVR: 100 # MLS-SVR: 2e-5, 2e-3, 2e-1, 2e1, 2e3, 2e5, 2e7, 2e9, 2e11, 2e13, 2e15
eps: [1e1, 1e-1, 1e-3] # M-SVR: we tested a high value (1.5) because high values are supposed to be better for their synthetic dataset # 1e-1 for comparing SVR with ELS-SVR and MLS-SVR (we just chose the default value of scikit-learn's SVR)
CC: [0.1, 1, 10] # MLS-SVR: 2e-10, 2e-8, 2e-6, 2e-4, 2e-2, 2e0, 2e2, 2e4, 2e6, 2e8, 2e10
zeta: [0.25, 0.5, 0.75, 1] # ELS-SVR: 0.1
num_layers: [2, 3, 4]
hidden_size: [64, 256, 1024]
learning_rate: [0.001, 0.01, 0.1]
# we fixed the following parameters for ANN in ANN.py
# activation_function: ReLU
# optimizer: SGD
# momentum: 0.95
# batch_size: 32
# num_epochs: 10
# threshold: 10
# dropout: 0.5
trial: false # whether metric is calculated for [0, 1]-scaled y data (true) or actual y data (false)
plot_outputs_separately: false # whether to plot all outputs for one solver next to each other instead of together