Update other ML models
[notebooks.git] / fmda / params.yaml
blob2aa308d0960e6cec236f7c56865950d623a23eae
1 # File used to store hyperparameters.
3 # RNN Params
4 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6 # Stateless RNN, batch_size declared at fit step
7 rnn:
8   batch_size: 32
9   timesteps: 5
10   optimizer: adam
11   rnn_layers: 1 # Number of hidden recurrent layers
12   rnn_units: 20 # Number of units per hidden recurrent layer
13   dense_layers: 1 # hidden dense layers AFTER recurrent layers and BEFORE final output cell
14   dense_units: 5 # number of units for hidden dense layers
15   activation: ['relu', 'relu'] # Activation type for hidden layers, dense layers respectively
16   dropout: [0.2, 0.2]  # NOTE: length must match total number of layers, default is 1 hidden recurrent layer and 1 dense output layer
17   recurrent_dropout: 0.2 # Length must match number of recurrent layers
18   reset_states: True # reset hidden states after training epoch, triggers reset_states() via callbacks
19   # batch_reset: 10 # reset states after given number of batches
20   batch_schedule_type: 'exp' # Schedule to Reset Hidden State
21   bmin: 20 # Minimum number of batches for batch reset schedule
22   bmax: 200
23   epochs: 20
24   learning_rate: 0.001
25   clipvalue: 10.0 # gradient clipping param, gradient can't exceed this value
26   phys_initialize: False # physics initialization
27   stateful: True
28   verbose_weights: True # Prints out hashs of weights for tracking reproducibility
29   verbose_fit: False # Prints out all training epochs, makes computation much slower
30   # features_list: ['Ed', 'Ew', 'solar', 'wind', 'rain']
31   features_list: ['Ed', 'Ew', 'rain']
32   scale: True
33   scaler: 'standard' # One of methods in scalers dictionary in moisture_rnn.py
34   time_fracs: [.9, .05, .05] # Percentage of data based on time span for train/val/test
35   early_stopping_patience: 5 # Number of epochs with no improvement after which training will be stopped.
36   predict_spinup_hours: 5 # Number of hours to run through the model before prediction errors evaluated. Used to stabilize hidden state
38 lstm:
39   batch_size: 32
40   timesteps: 5
41   optimizer: adam
42   rnn_layers: 1
43   rnn_units: 6
44   dense_layers: 1
45   dense_units: 1
46   activation: ['relu', 'relu']
47   recurrent_activation: 'sigmoid'
48   dropout: [0.2, 0.2]  # NOTE: length must match total number of layers, default is 1 hidden recurrent layer and 1 dense output layer
49   recurrent_dropout: 0.2 # Length must match number of recurrent layers
50   reset_states: True # reset hidden states after training epoch, triggers reset_states() via callbacks
51   batch_schedule_type: 'constant' # Schedule to Reset Hidden State
52   bmin: 20 # Minimum number of batches for batch reset schedule
53   bmax: 200
54   epochs: 100
55   learning_rate: 0.0001
56   clipvalue: 1.0 # gradient clipping param, gradient can't exceed this value
57   phys_initialize: False # physics initialization
58   stateful: True
59   verbose_weights: True # Prints out hashs of weights for tracking reproducibility
60   verbose_fit: False # Prints out all training epochs, makes computation much slower
61   features_list: ['Ed', 'Ew', 'rain']
62   scale: True
63   scaler: 'minmax' # One of methods in scalers dictionary in moisture_rnn.py
64   time_fracs: [.9, .05, .05] # Percentage of data based on time span for train/val/test
65   early_stopping_patience: 25 # Number of epochs with no improvement after which training will be stopped.
66   predict_spinup_hours: 5 # Number of hours to run through the model before prediction errors evaluated. Used to stabilize hidden state
68 # Param sets for reproducibility
70 ## v2.1 params
71 rnn_repro:
72   batch_size: 32
73   timesteps: 5
74   optimizer: adam
75   rnn_layers: 1
76   rnn_units: 20
77   dense_layers: 1
78   dense_units: 5
79   activation: ['linear', 'linear']
80   dropout: [0.2, 0.2]
81   recurrent_dropout: 0.2
82   reset_states: True
83   epochs: 300
84   learning_rate: 0.001
85   clipvalue: 10.0
86   phys_initialize: False
87   stateful: True
88   verbose_weights: True
89   verbose_fit: False
90   features_list: ['Ed', 'Ew', 'solar', 'wind', 'rain']
91   scale: True
92   scaler: 'minmax'
93   time_fracs: [.5, .2, .3] # Percentage of data based on time span for train/val/test
94   early_stopping_patience: 9999 # early stopping not used in repro case, so setting to a huge value to ignore
95   predict_spinup_hours: null # Number of hours to run through the model before prediction errors evaluated. Used to stabilize hidden state
96   
97 ## v2.0 params
98 # rnn_repro:
99 #   batch_size: 32
100 #   timesteps: 5
101 #   optimizer: adam
102 #   epochs: 200
103 #   rnn_layers: 1
104 #   rnn_units: 20
105 #   dense_layers: 0 # hidden dense layers AFTER recurrent layers and BEFORE final output cell
106 #   dense_units: 1
107 #   activation: ['linear', 'linear']
108 #   centering: [0.0,0.0]
109 #   dropout: [0.0, 0.0]  # NOTE: length must match total number of layers, default is 1 hidden recurrent layer and 1 dense output layer
110 #   recurrent_dropout: 0.0 # Length must match number of recurrent layers
111 #   reset_states: True # reset hidden states after training epoch, triggers reset_states() via callbacks
112 #   epochs: 200
113 #   learning_rate: 0.001
114 #   phys_initialize: False # physics initialization
115 #   stateful: True
116 #   verbose_weights: True # Prints out hashs of weights for tracking reproducibility
117 #   verbose_fit: False # Prints out all training epochs, makes computation much slower
118 #   features_list: ['Ed', 'Ew', 'rain']
119 #   scale: True
120 #   scaler: 'reproducibility'
121 #   train_frac: 0.5
122 #   val_frac: 0.0
125 # Other ML Params
126 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
128 xgb:
129   max_depth: 3
130   eta: 0.1
131   min_child_weight: 1
132   subsample: 0.8
133   colsample_bytree: 0.9
134   scale_pos_weight: 1
135   n_estimators: 100
136   gamma: .1
137   scaler: 'standard'
138   features_list: ['Ed', 'Ew', 'solar', 'wind', 'rain']
140   ### Params sent by Schreck, slow and less accurate for this dataset
141     # objective: "reg:squarederror"
142     # n_splits: 1
143     # learning_rate: 0.1 
144     # n_estimators: 1000
145     # max_depth: 10
146     # n_jobs: 8
147     # colsample_bytree: 0.8995496645826047
148     # gamma: 0.6148001693726943
149     # learning_rate: 0.07773680788294579
150     # max_depth: 10 
151     # subsample: 0.7898672617361431
152     # metric: "valid_rmse"
155   n_estimators: 25 # Number of trees in the forest
156   criterion: "squared_error" # Function to measure the quality of a split (previously "mse")
157   max_depth: 5 # Maximum depth of the tree
158   min_samples_split: 2 # Minimum number of samples required to split an internal node
159   min_samples_leaf: 1 # Minimum number of samples required to be at a leaf node
160   max_features: .8 # Number of features to consider when looking for the best split
161   bootstrap: true # Whether bootstrap samples are used when building trees
162   max_samples: null # If bootstrap is True, the number of samples to draw from X to train each base estimator
163   random_state: null # Controls both the randomness of the bootstrapping of the samples and the sampling of the features
164   verbose: 0 # Controls the verbosity when fitting and predicting
165   warm_start: false # When set to True, reuse the solution of the previous call to fit and add more estimators to the ensemble
168   fit_intercept: true
169   scaler: null
170   features_list: ['Ed', 'Ew', 'solar', 'wind', 'rain']
178