sklearn有团体套索吗?

时间:2017-04-02 00:31:01

标签: python scikit-learn

我有兴趣使用组套索解决我遇到的问题。 Here是算法的链接。我知道R有一个光滑的实现,但很想知道python是否有类似的东西。

我认为sklearn.linear_model.MultiTaskLasso可能有点相似,但我不确定。任何人都可以对此有所了解吗?

2 个答案:

答案 0 :(得分:1)

据我所知,scikit-learn不提供此实现,我也对此进行了研究。

| ID 1 | ID 2 | ID 3 | price_8 | price_10 | |:-----------|------------:|:------------:|:------------:|:------------:| | 00001 | 01 | 0001 |5000 | 6000 | | 00001 | 02 | 0001 |null | null | | 00001 | 01 | 0002 |null | null | 做其他事情。从documentation: “ MultiTaskLasso是一个线性模型,用于联合估计多个回归问题的稀疏系数:MultiTaskLasso是形状为(y的2D数组。约束是,所有要素的选定特征都相同回归问题,也称为任务。”

换句话说,n_samples, n_tasks是套索的实现,它可以同时预测多个目标(因此MultiTaskLasso是2D数组)。已知此问题的另一种方法是“多输出回归”或“ multi-target regression'”。如果任务相关,则此类方法可以改进尝试分别为每个任务或目标建模的方法。

答案 1 :(得分:1)

this issue in the sklearn repo中讨论了是否在sklearn中实施Group Lasso,其中到目前为止的结论是,如果将其包含在master中,那么它就不足以证明需要的维护。 / p>

因此,我实现了一个GroupLasso类,该类在我的python / cython软件包celer中传递了sklearn的check_estimator(),该类替代了sklearn的Lasso,MultitaskLasso,稀疏Logistic回归更快的求解器。

求解器使用坐标下降,工作集方法和外推法,这应该可以解决具有数百万个特征的问题。

它支持稀疏和密集数据,以及居中和规范化(居中的稀疏数据并不重要,因为它破坏了设计矩阵的稀疏性),并带有GroupLassoCV类来执行交叉验证。 在celer's documentation, there is an example中显示了如何使用它。