【发布时间】:2016-02-24 01:17:37
【问题描述】:
我想为概率拟合回归模型。我知道线性回归通常用于此目的,但我有几个概率在 0.0 和 1.0 或接近 0.0 和 1.0,并且希望拟合一个回归模型,其中输出被限制在 0.0 和 1.0 之间。我希望能够为模型指定正则化规范和强度,理想情况下在 python 中执行此操作(但 R 实现也会有帮助)。我发现的所有逻辑回归包似乎只适合分类,而这是一个回归问题(尽管我想使用 logit 链接函数)。我使用 scikits-learn 来满足我的分类和回归需求,所以如果这个回归模型可以在 scikits-learn 中实现,那就太棒了(在我看来这是不可能的),但我对任何解决方案都很高兴python 和/或 R.
【问题讨论】:
-
statsmodels 具有 L1 正则化 Logit,GLM 的弹性网络处于拉取请求中,将很快合并。在接下来的几个月中,将根据仍需要工作的拉取请求,对 GLM 和样条进行 L2 惩罚等更多惩罚 GLM。
-
scikit-learn 还具有 L1 和 L2 惩罚的逻辑回归,AFAIK。
-
澄清您实际拥有的数据的问题:因变量是概率/分数/比例(在 (0, 1) 中浮动)还是二元变量? statsmodels 中的二元和二项式模型不会强制因变量是二元的,只要它在 [0,1] 区间内就可以工作。
-
@user33700 谢谢!因变量是概率/分数/比例(在 (0, 1) 中的浮点数),而不是二元变量。这适用于statsmodel吗?你能指出一些示例语法吗?
-
@Adrian scikit-learn 不久前不允许使用非整数,但我不知道最近的版本是否有所改变。
标签: scikit-learn regression linear-regression logistic-regression statsmodels