This is something I have wanted to fix for a while, and which I'll do after the release and after the model_selection refactoring is merged.

On 09/20/2015 05:02 PM, Artem wrote:
You can't get validation part of current CV split in estimator either way.

On Sun, Sep 20, 2015 at 10:11 PM, okek padokek <defdefdef1...@gmail.com <mailto:defdefdef1...@gmail.com>> wrote:

    So you are suggesting to pass the validation set as a parameter to
    the __init__() of the estimator? But how do I get the current
    validation set from GridSearchCV? Using my above code, do you mean
    something like this:

    my_model = MY_MODEL()
    pipe = Pipeline(steps=[("imputer", imputer), ("scaler", scaler),
    ('my_model', my_model)])
    my_params = dict(my_model__n_epochs = [10, 20],
    *my_model__validation_set = [???]*)
    estimator =
    ​​
    GridSearchCV(pipe, my_params, verbose=5, cv=5)
    estimator.fit(x_train, y_train)


    ?

    On Sun, Sep 20, 2015 at 10:10 AM, Artem <barmaley....@gmail.com
    <mailto:barmaley....@gmail.com>> wrote:

        Hi

        Don't pass any parameters to fit method. Current API assumes
        that you set all the parameters in estimator's constructor
        (__init__ method). It's a bit nasty to set validation set
        during construction stage, but there's no better approach.

        On Sun, Sep 20, 2015 at 3:47 PM, okek padokek
        <defdefdef1...@gmail.com <mailto:defdefdef1...@gmail.com>> wrote:

            Hello,

            I am trying to implement my own estimator. It currently
            seems to be working. My fit() function is of the form

            def fit(self, X, y=None):
                ....
                # iteratively tune the params
                ....
                return self

            I would like to modify my fit() so that it can print out
            validation costs as it iterates:

            def fit(self, X, y=None, X_valid=None, y_valid=None):
                ....
                # iteratively tune the params
                    #occasionally print out the cost on the validation
            set (X_test, y_test)
                ....
                return self

            How would I go about passing the validation set when using
            a pipeline?

            I currently have something like this:

            my_model = MY_MODEL()
            pipe = Pipeline(steps=[("imputer", imputer), ("scaler",
            scaler), ('my_model', my_model)])
            my_params = dict(my_model__n_epochs = [10, 20])
            estimator = GridSearchCV(pipe, my_params, verbose=5, cv=5)
            estimator.fit(x_train, y_train)

            If I instead try

            estimator.fit(x_train, y_train, x_valid, y_valid)

            then I get an error telling me that fit() does not accept
            the last two parameters.

            How can this be done?

            Thanks

            
------------------------------------------------------------------------------

            _______________________________________________
            Scikit-learn-general mailing list
            Scikit-learn-general@lists.sourceforge.net
            <mailto:Scikit-learn-general@lists.sourceforge.net>
            https://lists.sourceforge.net/lists/listinfo/scikit-learn-general



        
------------------------------------------------------------------------------

        _______________________________________________
        Scikit-learn-general mailing list
        Scikit-learn-general@lists.sourceforge.net
        <mailto:Scikit-learn-general@lists.sourceforge.net>
        https://lists.sourceforge.net/lists/listinfo/scikit-learn-general



    
------------------------------------------------------------------------------

    _______________________________________________
    Scikit-learn-general mailing list
    Scikit-learn-general@lists.sourceforge.net
    <mailto:Scikit-learn-general@lists.sourceforge.net>
    https://lists.sourceforge.net/lists/listinfo/scikit-learn-general




------------------------------------------------------------------------------


_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general

------------------------------------------------------------------------------
_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general

Reply via email to