系数非负的线性回归的python实现

  统计/机器学习 回归分析 Python    浏览次数:6663        分享
0

我现在需要做一个线性回归,但是考虑到实际意义,要求所有的回归系数都是非负的。回归是采用最小二乘的方法。

请问这类回归在python中有什么实现的方法吗?

多谢多谢!

 

TheTheThe   2018-05-10 09:40



   2个回答 
4

这个叫非负最小二乘回归。sklearn.linear_model.Lasso里可以设置positive=True来使得系数都为正。如果你不需要正则化的话就把alpha设成0或者很小的数。

from sklearn.linear_model import Lasso
model = Lasso(alpha=0.00001, positive=True)
model.fit(X,y)


SofaSofa数据科学社区DS面试题库 DS面经

木子周   2018-05-12 21:53

2

这是带不等式条件的二次规划(Quadratic Programming)

$argmin_{w}{|Xw-y|^2} s.t. w>0$,

可以用http://cvxopt.org/examples/tutorial/qp.html

https://scaron.info/blog/quadratic-programming-in-python.html

SofaSofa数据科学社区DS面试题库 DS面经

Zealing   2018-05-11 05:08



  相关讨论

python中如何实现保序回归算法?

python里怎么做分位数回归(quantile regression)?

TypeError: Expected sequence or array-like, got class 'map'

用uci的crimes做了一个线性回归,test很差

如果迫使一个线性回归模型的截距为0,会有什么坏处吗?

在线性回归模型中存在epoch的说法吗?

最小二乘线性回归的推导

泊松回归的公式是什么?

怎么理解分位数回归quantile regression的目标函数?

门槛回归是什么?

  随便看看

Data Application Lab怎么样?

线性回归或者逻辑回归中常提到的AIC和BIC是什么意思?

为什么神经网络模型不用交叉验证?

如何清空pandas dataframe里的全部数据但是保留列名?

sklearn训练classifier的时候报错Unknown label type