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


Python sklearn LassoCV用法及代码示例


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

用法:

class sklearn.linear_model.LassoCV(*, eps=0.001, n_alphas=100, alphas=None, fit_intercept=True, normalize='deprecated', precompute='auto', max_iter=1000, tol=0.0001, copy_X=True, cv=None, verbose=False, n_jobs=None, positive=False, random_state=None, selection='cyclic')

沿正则化路径迭代拟合的 Lasso 线性模型。

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

通过交叉验证选择最佳模型。

Lasso 的优化目标是:

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

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

参数

eps浮点数,默认=1e-3

路径的长度。 eps=1e-3 表示 alpha_min / alpha_max = 1e-3

n_alphas整数,默认=100

正则化路径上的 alpha 数量。

alphasndarray,默认=无

计算模型的 alpha 列表。如果自动设置None alpha。

fit_intercept布尔,默认=真

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

normalize布尔,默认=假

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

precompute‘auto’,布尔型或类似数组的形状 (n_features, n_features),默认=’auto’

是否使用预先计算的 Gram 矩阵来加速计算。如果设置为'auto',让我们决定。 Gram 矩阵也可以作为参数传递。

max_iter整数,默认=1000

最大迭代次数。

tol浮点数,默认=1e-4

优化的容差:如果更新小于 tol ,则优化代码检查对偶间隙的最优性并继续直到它小于 tol

copy_X布尔,默认=真

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

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

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

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

对于 int/None 输入,使用 KFold

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

verbosebool 或 int,默认 = False

详细程度。

n_jobs整数,默认=无

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

positive布尔,默认=假

如果为正,则将回归系数限制为正。

random_stateint,RandomState 实例,默认=无

选择要更新的随机特征的伪随机数生成器的种子。当selection == ‘random’ 时使用。传递 int 以获得跨多个函数调用的可重现输出。请参阅词汇表。

selection{‘cyclic’, ‘random’},默认='循环'

如果设置为‘random’,则每次迭代都会更新随机系数,而不是默认情况下按顺序循环特征。这(设置为‘random’)通常会导致收敛速度显著加快,尤其是当 tol 高于 1e-4 时。

属性

alpha_浮点数

交叉验证选择的惩罚量。

coef_ndarray 形状 (n_features,) 或 (n_targets, n_features)

参数向量(成本函数公式中的 w)。

intercept_形状的浮点数或 ndarray (n_targets,)

决策函数中的独立项。

mse_path_ndarray 形状(n_alphas,n_folds)

每次折叠测试集的均方误差,不同的 alpha。

alphas_ndarray 形状 (n_alphas,)

用于拟合的 alpha 网格。

dual_gap_形状的浮点数或 ndarray (n_targets,)

最佳 alpha (alpha_) 优化结束时的对偶间隙。

n_iter_int

坐标下降求解器运行的迭代次数,以达到最佳 alpha 的指定容差。

n_features_in_int

拟合期间看到的特征数。

feature_names_in_ndarray 形状(n_features_in_,)

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

注意

例如,请参见例子/linear_model/plot_lasso_model_selection.py.

为避免不必要的内存重复,fit 方法的 X 参数应直接作为 Fortran-contiguous numpy 数组传递。

例子

>>> from sklearn.linear_model import LassoCV
>>> from sklearn.datasets import make_regression
>>> X, y = make_regression(noise=4, random_state=0)
>>> reg = LassoCV(cv=5, random_state=0).fit(X, y)
>>> reg.score(X, y)
0.9993...
>>> reg.predict(X[:1,])
array([-78.4951...])

相关用法


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