gpt4 book ai didi

python - sklearn、LassoCV() 和 ElasticCV() 损坏了吗?

转载 作者:太空狗 更新时间:2023-10-30 00:10:42 27 4
gpt4 key购买 nike

sklearn 提供了用于回归估计的 LASSO 方法。但是,当我尝试用矩阵 y 拟合 LassoCV(X,y) 时,它会抛出错误。请参阅下面的屏幕截图,以及其文档的链接。我使用的 sklearn 版本是 0.15.2。

http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LassoCV.html#sklearn.linear_model.LassoCV

它的文档说 y 可以是一个 ndarray:

y : array-like, shape (n_samples,) or (n_samples, n_targets)

当我只使用 Lasso() 来拟合相同的 X 和 y 时,它工作正常。所以我想知道 LassoCV() 是坏了还是我需要做其他事情?

In [2]:  import numpy as np 
im
In [3]: import sklearn.linear_model

In [4]: from sklearn import linear_model

In [5]: X = np.random.random((10,100))

In [6]: y = np.random.random((50, 100))

In [7]: linear_model.Lasso().fit(X,y)
Out[7]:
Lasso(alpha=1.0, copy_X=True, fit_intercept=True, max_iter=1000,
normalize=False, positive=False, precompute='auto', tol=0.0001,
warm_start=False)

In [8]: linear_model.LassoCV().fit(X,y)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-8-9c8ad3459ac8> in <module>()
----> 1 linear_model.LassoCV().fit(X,y)

/chimerahomes/wenhoujx/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/sklearn/linear_model/coordinate_descent.pyc in fit(self, X, y)
1006 if y.ndim > 1:
1007 raise ValueError("For multi-task outputs, use "
-> 1008 "MultiTask%sCV" % (model_str))
1009 else:
1010 if sparse.isspmatrix(X):

ValueError: For multi-task outputs, use MultiTaskLassoCV

In [9]:

似乎 ElasticCV() 和 Elastic() 对具有相同的情况,前者() 建议使用 multitask-ElasticCV() 后者适用于二维矩阵。

最佳答案

与某些文档字符串中所写的相反,普通的套索估计器(例如您正在使用的估计器)不支持多个目标。

错误消息告诉您使用 MultiTaskLasso,这是一种组套索,它强制对每个目标提供相同的稀疏支持。如果这是您需要的,请继续使用它。如果没有,到目前为止,除了循环遍历目标之外没有其他有用的方法,您可以使用 sklearn.externals.joblib 尴尬地并行化它。

(如果您想为独立目标贡献多目标支持,非常欢迎在 github 上提出拉取请求。)

关于python - sklearn、LassoCV() 和 ElasticCV() 损坏了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26444907/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com