为什么我会得到一些负值(预测因子)作为回归估计器(套索、里奇、ElasticNet)的输出



对于我的回归问题,我正在使用scikit-learn的GridSearchCV来获得最佳alpha值,并在我的估计器(Lasso,Ridge,ElasticNet)中使用此alpha值。训练数据集中的目标值不包含任何负值。但一些预测值是负数(大约 5-10%)。我正在使用以下代码。我的训练数据包含一些 Null 值,我正在通过该功能替换它们。

return Lasso(alpha=best_parameters['alpha']).fit(X,y).predict(X_test)

知道为什么我会得到一些负值吗?X,y和X_test的形状是(20L,400L)(20L,)(10L,400L)

Lasso 只是正则化线性回归,因此实际上对于每个经过训练的模型,有一些值的预测因子将为负。

考虑一个直线函数

f(x) = w'x + b

其中 w 和 x 是向量,' 是换位运算符

无论wb的值是什么,只要w不是零向量 - 总有f(x)<0 x的值。用于计算 w 和 b 的训练集不包含任何负值并不重要,因为线性模型总是(可能在某些非常大的值中)越过 0 值。

相关内容

  • 没有找到相关文章

最新更新