Hi, Yoann, when I understand correctly, you want to apply the scaling to each iteration in cross-validation (i.e., the recommended way to do it)? Here, you could use the make_pipeline function, which will call fit on each training fold and call transform on each test fold:
from sklearn.preprocessing import StandardScaler from sklearn.pipeline import make_pipeline from sklearn.cross_validation import cross_val_score from sklearn.linear_model import Ridge pipe = make_pipeline(StandardScaler(), Ridge()) cross_val_score(pipe, X, y) You can think of “pipe” as an Ridge estimator with a StandardScaler attached to it. Best, Sebastian > On Sep 13, 2016, at 8:16 AM, Brenet, Yoann <[email protected]> wrote: > > Hi all, > > I was trying to use scikit-learn LassoCV/RidgeCV while applying a > 'StandardScaler' on each fold set. I do not want to apply the scaler before > the cross-validation to avoid leakage but I cannot figure out how I am > supposed to do that with LassoCV/RidgeCV. > > Is there a way to do this ? Or should I create a pipeline with Lasso/Ridge > and 'manually' search for the hyper-parameters (using GridSearchCV for > instance) ? > > Many thanks. > > Yoann > _______________________________________________ > scikit-learn mailing list > [email protected] > https://mail.python.org/mailman/listinfo/scikit-learn _______________________________________________ scikit-learn mailing list [email protected] https://mail.python.org/mailman/listinfo/scikit-learn
