We could clarify in the documentation that you can grid-search any (hyper) parameter of a model,
but not parameters to fit?
Only the values returned by get_params() can be tuned.
Only "param_grid" will be searched, not "fit_params". "fit_params" can contain only a single setting.



On 06/26/2017 03:17 AM, Joel Nothman wrote:
I don't think we'll be accepting a pull request adding this feature to scikit-learn. It is too niche. But you should go ahead and modify the search to operate over weightings for your own research. If you feel the documentation can be clarified, a pull request there is welcome.

On 26 June 2017 at 16:43, Manuel CASTEJÓN LIMAS <mc...@unileon.es <mailto:mc...@unileon.es>> wrote:

    Yes, I guess most users will be happy without using weights. Some
    will need to use one single vector, but I am currently researching
    a weighting method thus my need of evaluating multiple weight vectors.

     I understand that it seems to be a very specific issue with a
    simple workaround, most likely not worthy of any programming
     effort yet as there are more important issues to address.

    I guess that adding a note on this behaviour on the documentation
    could be great. If some parameters can be iterated and others are
    not supported knowing it  provides a more solid ground to the user
    base.

    I'm committed to spend a few hours studying the code. Should I be
    successful  I will come again with a pull request.
    I'll cross my fingers :-)
    Best
    Manolo



    El 24 jun. 2017 20:05, "Julio Antonio Soto de Vicente"
    <ju...@esbet.es <mailto:ju...@esbet.es>> escribió:

        Joel is right.

        In fact, you usually don't want to tune a lot the sample
        weights: you may leave them default, set them in order to
        balance classes, or fix them according to some business rule.

        That said, you can always run a couple of grid searchs
        changing that sample weights and compare results afterwards.

-- Julio

        El 24 jun 2017, a las 15:51, Joel Nothman
        <joel.noth...@gmail.com <mailto:joel.noth...@gmail.com>> escribió:

        yes, trying multiple sample weightings is not supported by
        grid search directly.

        On 23 Jun 2017 6:36 pm, "Manuel Castejón Limas"
        <manuel.caste...@gmail.com
        <mailto:manuel.caste...@gmail.com>> wrote:

            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
            <mc...@unileon.es <mailto:mc...@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.noth...@gmail.com
                <mailto:joel.noth...@gmail.com>> escribió:

                    why are you passing [my_sample_weights] rather
                    than just my_sample_weights?


            _______________________________________________
            scikit-learn mailing list
            scikit-learn@python.org <mailto:scikit-learn@python.org>
            https://mail.python.org/mailman/listinfo/scikit-learn
            <https://mail.python.org/mailman/listinfo/scikit-learn>

        _______________________________________________
        scikit-learn mailing list
        scikit-learn@python.org <mailto:scikit-learn@python.org>
        https://mail.python.org/mailman/listinfo/scikit-learn
        <https://mail.python.org/mailman/listinfo/scikit-learn>

        _______________________________________________
        scikit-learn mailing list
        scikit-learn@python.org <mailto:scikit-learn@python.org>
        https://mail.python.org/mailman/listinfo/scikit-learn
        <https://mail.python.org/mailman/listinfo/scikit-learn>



    _______________________________________________
    scikit-learn mailing list
    scikit-learn@python.org <mailto:scikit-learn@python.org>
    https://mail.python.org/mailman/listinfo/scikit-learn
    <https://mail.python.org/mailman/listinfo/scikit-learn>




_______________________________________________
scikit-learn mailing list
scikit-learn@python.org
https://mail.python.org/mailman/listinfo/scikit-learn

_______________________________________________
scikit-learn mailing list
scikit-learn@python.org
https://mail.python.org/mailman/listinfo/scikit-learn

Reply via email to