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>
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
> 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