【问题标题】:What non-negative linear models are supported/planned in scikit-learn?scikit-learn 支持/计划了哪些非负线性模型?
【发布时间】:2012-12-28 19:09:45
【问题描述】:

Scikit-learn 提供了大量有用的线性模型。但是,我正在研究一个具有非负约束的线性问题(即解决方案变量应该是非负的)。

我想使用 scikit-learn,但我看到的唯一可以支持当前非负性的函数是 Lasso(),通过 'positive=true' 标志。 LassoCV() 或 lasso_path() 不支持非负性。

scikit-learn 中是否还有其他可用的非负线性模型?是否有计划在不久的将来包括这些?

【问题讨论】:

  • 没有计划在 scikit-learn 中包含很多新内容;开发团队正在讨论冻结功能,以便在不久的将来发布 1.0。
  • positive=True 构造函数参数传播到LassoCVlasso_path 我认为仍然会被接受为公关。它不会给现有代码库增加太多复杂性,因为 LassoCVlasso_pathLasso 的包装器。
  • 有人想把其中一个变成答案吗?

标签: python linear-regression scikit-learn


【解决方案1】:

scikit-learn 的当前稳定版本支持 LassoCVlasso_path 中的 positive kwarg(尽管在文档字符串中似乎没有提到后者)。非负 lasso_path 用法示例:https://github.com/scikit-learn/scikit-learn/blob/master/examples/linear_model/plot_lasso_coordinate_descent_path.py

ElasticNet 和相关的 CV 版本也支持非负选项。

【讨论】:

  • 奇怪的是,我在 LassoCV 中用positive=True 得到了正系数,但predict() 的一些值仍然是负数..(并且没有负输入值..)很奇怪。
  • intercept_ 值呢?
猜你喜欢
  • 1970-01-01
  • 2017-12-17
  • 1970-01-01
  • 2021-05-05
  • 2017-01-04
  • 2015-12-15
  • 2015-08-21
  • 2017-03-26
  • 2021-04-01
相关资源
最近更新 更多