def pso_esn_parameters_for_elasticnet(x): ic_s =x[0] ic_e =x[1] is_s = x[2] is_e = x[3] teacher_scaling = x[4] teacher_shift = x[5] alpha =x[6] l1_ratio=x[7] esn = ESN(n_inputs = 2, n_outputs = 1, n_reservoir = n_reservoir, spectral_radius = spectral_radius, sparsity = sparsity, noise = noise, input_shift = [is_s,is_e],#[0,0] input_scaling =[ic_s,ic_e],# [0.01, 3] teacher_scaling = teacher_scaling,#1.12, teacher_shift = teacher_shift,#-0.7, out_activation = np.tanh, inverse_out_activation = np.arctanh, random_state = rng, silent = False) esn.alpha = alpha esn.l1_ratio = l1_ratio internal_states,transient = esn.train_reservior(train_ctrl,train_output) pred_train = esn.train_readout_with_elasticnet(internal_states,train_output,transient) pred_test = esn.predict(test_ctrl) test_error_rate= np.sqrt(np.mean((pred_test - test_output)**2)) #get function name as title title = inspect.stack()[0][3] print "#### {} ## train_error:{},test_error:{}".format(title,esn.train_error_rate,test_error_rate) return test_error_rate