当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn LassoLarsCV用法及代码示例


本文简要介绍python语言中 sklearn.linear_model.LassoLarsCV 的用法。

用法:

class sklearn.linear_model.LassoLarsCV(*, fit_intercept=True, verbose=False, max_iter=500, normalize='deprecated', precompute='auto', cv=None, max_n_alphas=1000, n_jobs=None, eps=2.220446049250313e-16, copy_X=True, positive=False)

Cross-validated 套索,使用 LARS 算法。

请参阅交叉验证估计器的词汇表条目。

Lasso 的优化目标是:

(1 / (2 * n_samples)) * ||y - Xw||^2_2 + alpha * ||w||_1

在用户指南中阅读更多信息。

参数

fit_intercept布尔,默认=真

是否计算此模型的截距。如果设置为 false,则不会在计算中使用截距(即数据应居中)。

verbosebool 或 int,默认 = False

设置详细程度。

max_iter整数,默认=500

要执行的最大迭代次数。

normalize布尔,默认=真

fit_intercept 设置为 False 时忽略此参数。如果为 True,则回归量 X 将在回归前通过减去均值并除以 l2 范数进行归一化。如果您希望标准化,请在使用 normalize=False 对估计器调用 fit 之前使用 StandardScaler

precomputebool 或 ‘auto’ ,默认='auto'

是否使用预先计算的 Gram 矩阵来加速计算。如果设置为'auto',让我们决定。 Gram 矩阵不能作为参数传递,因为我们将只使用 X 的子集。

cvint,交叉验证生成器或可迭代的,默认=无

确定交叉验证拆分策略。 cv 的可能输入是:

  • 无,使用默认的 5 折交叉验证,
  • 整数,指定折叠次数。
  • CV分配器,
  • 一个可迭代的 yield (train, test) 拆分为索引数组。

对于整数/无输入,使用KFold

有关可在此处使用的各种交叉验证策略,请参阅用户指南。

max_n_alphas整数,默认=1000

路径上用于计算交叉验证残差的最大点数。

n_jobsint 或无,默认=无

交叉验证期间要使用的 CPU 数量。 None 表示 1,除非在 joblib.parallel_backend 上下文中。 -1 表示使用所有处理器。有关详细信息,请参阅词汇表。

eps浮点数,默认=np.finfo(float).eps

machine-precision 正则化计算 Cholesky 对角因子。为非常 ill-conditioned 的系统增加此值。与某些基于迭代优化的算法中的tol 参数不同,该参数不控制优化的容差。

copy_X布尔,默认=真

如果为 True,则 X 将被复制;否则,它可能会被覆盖。

positive布尔,默认=假

将系数限制为 >= 0。请注意,您可能希望删除默认设置为 True 的 fit_intercept。在正限制下,对于较小的 alpha 值,模型系数不会收敛到 ordinary-least-squares 解。只有通过逐步Lars-Lasso 算法达到的最小 alpha 值(当 fit_path=True 时为 alphas_[alphas_ > 0.].min())的系数通常与坐标下降套索估计器的解一致。因此,使用LassoLarsCV 仅对预期和/或达到稀疏解决方案的问题有意义。

属性

coef_形状类似数组 (n_features,)

参数向量(公式中的w)

intercept_浮点数

决策函数中的独立项。

coef_path_形状类似数组 (n_features, n_alphas)

沿路径的系数的变化值

alpha_浮点数

估计的正则化参数 alpha

alphas_形状类似数组 (n_alphas,)

沿路径的不同 alpha 值

cv_alphas_形状类似数组 (n_cv_alphas,)

不同折叠路径上的所有 alpha 值

mse_path_形状类似数组 (n_folds, n_cv_alphas)

left-out 上沿路径的每个折叠的均方误差(由 cv_alphas 给出的 alpha 值)

n_iter_类似数组或int

Lars 以最优 alpha 运行的迭代次数。

active_int列表

路径末端的活动变量的索引。

n_features_in_int

拟合期间看到的特征数。

feature_names_in_ndarray 形状(n_features_in_,)

拟合期间看到的特征名称。仅当 X 具有全为字符串的函数名称时才定义。

注意

该对象解决了与 LassoCV 对象相同的问题。然而,与 LassoCV 不同的是,它自己找到相关的 alpha 值。一般来说,因为有这个属性,所以会比较稳定。然而,它对于严重多重共线性的数据集更加脆弱。

如果与总数相比仅选择少量特征,例如与特征数量相比样本很少,则它比 LassoCV 更有效。

例子

>>> from sklearn.linear_model import LassoLarsCV
>>> from sklearn.datasets import make_regression
>>> X, y = make_regression(noise=4.0, random_state=0)
>>> reg = LassoLarsCV(cv=5, normalize=False).fit(X, y)
>>> reg.score(X, y)
0.9993...
>>> reg.alpha_
0.3972...
>>> reg.predict(X[:1,])
array([-78.4831...])

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.linear_model.LassoLarsCV。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。