For my regression problem, I am using GridSearchCV of scikit-learn to get the best alpha value and using this alpha value in my estimator (Lasso, Ridge, ElasticNet). My target values in the training dataset do not contain any negative values. But some of the predicted values are negative (around 5-10%). I am using the following code. My training data contains some Null values and I am replacing them by mean of that feature.
return Lasso(alpha=best_parameters['alpha']).fit(X,y).predict(X_test)
Any idea why am I getting some as Negative values ? Shape of X,y and X_test are (20L, 400L) (20L,) (10L, 400L)