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


Python sklearn LassoLars用法及代码示例


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

用法:

class sklearn.linear_model.LassoLars(alpha=1.0, *, fit_intercept=True, verbose=False, normalize='deprecated', precompute='auto', max_iter=500, eps=2.220446049250313e-16, copy_X=True, fit_path=True, positive=False, jitter=None, random_state=None)

套索模型与最小角回归(又名 Lars)拟合。

它是使用 L1 先验作为正则化器训练的线性模型。

Lasso 的优化目标是:

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

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

参数

alpha浮点数,默认=1.0

乘以惩罚项的常数。默认为 1.0。 alpha = 0 相当于普通最小二乘法,由 LinearRegression 求解。由于数字原因,不建议将 alpha = 0 与 LassoLars 对象一起使用,您应该更喜欢使用 LinearRegression 对象。

fit_intercept布尔,默认=真

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

verbosebool 或 int,默认 = False

设置详细程度。

normalize布尔,默认=真

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

precomputebool,‘auto’ 或类似数组,默认=’auto’

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

max_iter整数,默认=500

要执行的最大迭代次数。

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

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

copy_X布尔,默认=真

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

fit_path布尔,默认=真

如果True 完整路径存储在coef_path_ 属性中。如果您计算一个大问题或许多目标的解决方案,将 fit_path 设置为 False 将导致加速,尤其是在 alpha 较小的情况下。

positive布尔,默认=假

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

jitter浮点数,默认=无

要添加到 y 值的均匀噪声参数的上限,以满足模型对 one-at-a-time 计算的假设。可能有助于稳定性。

random_stateint、RandomState 实例或无,默认=无

确定抖动的随机数生成。传递 int 以在多个函数调用之间实现可重现的输出。请参阅术语表。如果 jitter 为 None,则忽略。

属性

alphas_形状为 (n_alphas + 1,) 的类似数组或此类数组的列表

每次迭代的协方差最大值(绝对值)。 n_alphasmax_itern_featuresalpha >= alpha_min 路径中的节点数,以较小者为准。如果这是一个类似数组的列表,则外部列表的长度为 n_targets

active_长度为 n_alphas 的列表或此类列表的列表

路径末端的活动变量的索引。如果这是列表列表,则外部列表的长度为 n_targets

coef_path_形状类似数组 (n_features, n_alphas + 1) 或此类数组的列表

如果传递了一个列表,那么它应该是 n_targets 这样的数组之一。沿路径的系数值的变化。如果 fit_path 参数为 False ,则该值不存在。如果这是一个类似数组的列表,则外部列表的长度为 n_targets

coef_形状为 (n_features,) 或 (n_targets, n_features) 的类似数组

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

intercept_形状为浮点或类似数组 (n_targets,)

决策函数中的独立项。

n_iter_类似数组或int

lars_path 为找到每个目标的 alpha 网格而进行的迭代次数。

n_features_in_int

拟合期间看到的特征数。

feature_names_in_ndarray 形状(n_features_in_,)

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

例子

>>> from sklearn import linear_model
>>> reg = linear_model.LassoLars(alpha=0.01, normalize=False)
>>> reg.fit([[-1, 1], [0, 0], [1, 1]], [-1, 0, -1])
LassoLars(alpha=0.01, normalize=False)
>>> print(reg.coef_)
[ 0.         -0.955...]

相关用法


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