lambdas = np.logspace(-10, 10, 50) pipe_lasso = make_pipeline(StandardScaler(), Lasso(random_state=1)) #Pipe #Grid search gs = GridSearchCV(estimator=pipe_lasso, param_grid=[{'lasso__alpha':lambdas}], #Now two hyperparameters scoring='neg_mean_squared_error', cv=10, n_jobs=-1) gs = gs.fit(X_train, y_train) #fits print(gs.best_params_) # prints best parameters lasso_alpha=gs.best_params_.get('lasso__alpha') #extract best parameters #Builds final pipeline with best parameters pipe_lasso_final = make_pipeline(StandardScaler(), Lasso(alpha=lasso_alpha,random_state=1)) pipe_lasso_final.fit(X_train, y_train) #Stores performance using the prefered parameter from the cross validation mseCVlasso_train=mse(y_train,pipe_lasso_final.predict(X_train)) #predict on train mseCVlasso_test=mse(y_test,pipe_lasso_final.predict(X_test)) #predict on test print('train MSE:' + str(mseCVlasso_train)) print('test MSE:' + str(mseCVlasso_test))