Dear Joel,

I tried and removed the square brackets and now it works as expected for a single sample_weight vector:

validator = GridSearchCV(my_Regressor,
                     param_grid={'number_of_hidden_neurons': range(4, 5),
                                 'epochs': [50],
                                },
                     fit_params={'sample_weight':  my_sample_weights },
                     n_jobs=1,
                    )
validator.fit(x, y)
The problem now is that I want to try multiple trainings with multiple sample_weight parameters, in the following fashion:

validator = GridSearchCV(my_Regressor,
                     param_grid={'number_of_hidden_neurons': range(4, 5),
                                 'epochs': [50],
                                 'sample_weight':  [my_sample_weights, my_sample_weights**2] ,
                                },
                     fit_params={},
                     n_jobs=1,
                    )
validator.fit(x, y)
But unfortunately it produces the same error again:

ValueError: Found a sample_weight array with shape (1000,) for an input with shape (666, 1). sample_weight cannot be broadcast.

I guess that the issue is that the sample__weight parameter was not thought to be changed during the tuning, was it?


Thank you all for your patience and support.
Best
Manolo




2017-06-23 1:17 GMT+02:00 Manuel CASTEJÓN LIMAS <mcasl@unileon.es>:
Dear Joel,
I'm just passing an iterable as I would do with any other sequence of parameters to tune. In this case the list only has one element to use but in general I ought to be able to pass a collection of vectors.
Anyway, I guess that that issue is not the cause of the problem.

El 23 jun. 2017 1:04 a. m., "Joel Nothman" <joel.nothman@gmail.com> escribió:
why are you passing [my_sample_weights] rather than just my_sample_weights?