Machine learning 为什么我会得到一些负值(预测值)作为回归估计(套索、岭、弹性网)的输出

Machine learning 为什么我会得到一些负值(预测值)作为回归估计(套索、岭、弹性网)的输出,machine-learning,regression,scikit-learn,lasso-regression,Machine Learning,Regression,Scikit Learn,Lasso Regression,对于我的回归问题,我正在使用scikit的GridSearchCV学习获得最佳阿尔法值,并在我的估计器(套索、岭、弹性网)中使用该阿尔法值。 培训数据集中的目标值不包含任何负值。但一些预测值为负值(约5-10%)。 我正在使用以下代码。 我的训练数据包含一些空值,我正在用该功能替换它们 return Lasso(alpha=best_parameters['alpha']).fit(X,y).predict(X_test) 知道为什么我会得到一些负值吗? X,y和X_检验的形状是(20L,40

对于我的回归问题,我正在使用scikit的GridSearchCV学习获得最佳阿尔法值,并在我的估计器(套索、岭、弹性网)中使用该阿尔法值。 培训数据集中的目标值不包含任何负值。但一些预测值为负值(约5-10%)。 我正在使用以下代码。 我的训练数据包含一些空值,我正在用该功能替换它们

return Lasso(alpha=best_parameters['alpha']).fit(X,y).predict(X_test)
知道为什么我会得到一些负值吗?
X,y和X_检验的形状是(20L,400L)(20L,)(10L,400L)

套索只是正则化线性回归,因此事实上,对于每个训练模型,都有一些预测值为负值的值

考虑一个直线加速器函数

f(x) = w'x + b
其中w和x是向量,'是换位算子


无论
w
b
的值是什么,只要
w
不是零向量-总会有
x
的值,感谢您的解释。当我的特征(最初的1500个,特征选择后减少到400个)超过样本数时,你知道什么是更好的估计器吗?使用AdaboosTreeGressor和DecisionTreeGressor,n_估计数=300,虽然分数没有多大提高,但至少没有得到任何负值。老实说,最好的解决方案是收集更多的数据。使用如此小的数据集,您无法期望任何合理的结果。