首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我得到一些负值(预测值)作为回归估计量(Lasso,Ridge,ElasticNet)的输出

为什么我得到一些负值(预测值)作为回归估计量(Lasso,Ridge,ElasticNet)的输出
EN

Stack Overflow用户
提问于 2013-11-17 23:07:11
回答 1查看 2K关注 0票数 0

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

代码语言:javascript
复制
return Lasso(alpha=best_parameters['alpha']).fit(X,y).predict(X_test)

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

EN

回答 1

Stack Overflow用户

发布于 2013-11-18 00:07:02

套索只是正则化的线性回归,所以实际上对于每个训练的模型,都有一些预测值是负值。

考虑一个线性函数

代码语言:javascript
复制
f(x) = w'x + b

其中w和x是向量,‘是转置运算符

无论wb的值是什么,只要w不是零向量-对于哪个f(x)<0,总是有x的值。而且,用于计算w和b的训练集不包含任何负值也没有关系,因为线性模型总是(可能在一些非常大的值中)超过0值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20032230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档