results_df = pd.DataFrame(columns=[ 'name', 'layer_dims', 'dropout_rates', 'batchsize', 'best_iter', 'train_mse', 'train_mae', 'train_mape', 'test_mse', 'test_mae', 'test_mape' ]) path_results = path_out # ### Main loop # In[16]: for gen_name, selected_variables in dict_selected_var.items(): # Prepare dataset x_conso = select_variables(x_conso, dict_colnames_conso, selected_variables) dataset, dict_ds = get_train_test_sets(x_conso, y_conso, date_test_start, date_test_end) dataset = normalized_dataset(dataset, dict_colnames_conso) nb_hidden_units = dataset['train']['x'].shape[1] for idx, (nb_hidden_layers, dropout) in enumerate(combination): print( '========================= Model {}/{} ========================='. format(idx + 1, len(combination))) # Prepare model characteristics name_model = 'b0_FFNN_l{}*{}_d{}*{}_{}_norm'.format( nb_hidden_units, nb_hidden_layers, dropout, nb_hidden_layers, gen_name)
results_df = pd.DataFrame(columns=[ 'name', 'layer_dims', 'dropout_rates', 'batchsize', 'best_iter', 'train_mse', 'train_mae', 'train_mape', 'test_mse', 'test_mae', 'test_mape' ]) path_results = path_out # ### Main loop # In[18]: for gen_name, selected_variables in dict_selected_var.items(): # Prepare dataset x_conso_selected_var = select_variables(x_conso, dict_colnames_conso, selected_variables) dataset, dict_ds = get_train_test_sets(x_conso_selected_var, y_conso, date_test_start, date_test_end) dataset = normalized_dataset(dataset, dict_colnames_conso) nb_hidden_units_base = dataset['train']['x'].shape[1] for idx, (nb_hidden_layers, dropout) in enumerate(combination): print( '========================= Model {}/{} ========================='. format(idx + 1, len(combination))) # Get right number of hidden units nb_hidden_units = int(nb_hidden_units_base * (1 + dropout)) # Prepare model characteristics name_model = 'b1_FFNN_l{}*{}_d{}*{}_{}_norm'.format(
data_conso_df, dict_colnames_conso = get_uniformed_data_conso( dict_data_conso) # Granularity from 15 min to 1H data_conso_df = change_granularity(data_conso_df, granularity="1H") # Get x and y from prediction x_conso, y_conso, dict_colnames_conso = get_x_y_prediction_conso( data_conso_df, dict_colnames_conso, lag=24) # Getting each datasets dict_datasets = {} for key, date_period in cv_periods.items(): x_conso_selected_var = select_variables(x_conso, dict_colnames_conso, selected_variables) dataset, dict_ds = get_train_test_sets(x_conso_selected_var, y_conso, date_period[0], date_period[1]) dataset = normalized_dataset(dataset, dict_colnames_conso) dict_datasets[key] = {'dataset': dataset, 'dict_ds': dict_ds} # Deleting useless info del x_conso, y_conso ### Getting FFNN input dim ### input_dim = dict_datasets['period_1']['dataset']['train']['x'].shape[1] ### Prepare results wrap up ### results_df = pd.DataFrame(columns=[ 'name', 'layer_dims', 'dropout_rates', 'batchsize', 'best_iter', 'train_mse', 'train_mae', 'train_mape', 'test_mse', 'test_mae', 'test_mape'