本文简要介绍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,则不会在计算中使用截距(即数据应居中)。
- verbose:bool 或 int,默认 = False
设置详细程度。
- max_iter:整数,默认=500
要执行的最大迭代次数。
- normalize:布尔,默认=真
当
fit_intercept
设置为 False 时忽略此参数。如果为 True,则回归量 X 将在回归前通过减去均值并除以 l2 范数进行归一化。如果您希望标准化,请在使用normalize=False
对估计器调用fit
之前使用StandardScaler
。- precompute:bool 或 ‘auto’ ,默认='auto'
是否使用预先计算的 Gram 矩阵来加速计算。如果设置为
'auto'
,让我们决定。 Gram 矩阵不能作为参数传递,因为我们将只使用 X 的子集。- cv:int,交叉验证生成器或可迭代的,默认=无
确定交叉验证拆分策略。 cv 的可能输入是:
- 无,使用默认的 5 折交叉验证,
- 整数,指定折叠次数。
- CV分配器,
- 一个可迭代的 yield (train, test) 拆分为索引数组。
对于整数/无输入,使用
KFold
。有关可在此处使用的各种交叉验证策略,请参阅用户指南。
- max_n_alphas:整数,默认=1000
路径上用于计算交叉验证残差的最大点数。
- n_jobs:int 或无,默认=无
交叉验证期间要使用的 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...])
相关用法
- Python sklearn LassoLars用法及代码示例
- Python sklearn LassoLarsIC用法及代码示例
- Python sklearn Lasso用法及代码示例
- Python sklearn LassoCV.path用法及代码示例
- Python sklearn LassoCV用法及代码示例
- Python sklearn Lasso.path用法及代码示例
- Python sklearn LarsCV用法及代码示例
- Python sklearn Lars用法及代码示例
- Python sklearn LabelPropagation用法及代码示例
- Python sklearn LabelSpreading用法及代码示例
- Python sklearn LabelEncoder用法及代码示例
- Python sklearn LabelBinarizer用法及代码示例
- Python sklearn LatentDirichletAllocation用法及代码示例
- Python sklearn LocalOutlierFactor.kneighbors_graph用法及代码示例
- Python sklearn LeavePOut用法及代码示例
- Python sklearn LeaveOneOut用法及代码示例
- Python sklearn LogisticRegression用法及代码示例
- Python sklearn LocallyLinearEmbedding用法及代码示例
- Python sklearn LedoitWolf用法及代码示例
- Python sklearn LogisticRegressionCV用法及代码示例
- Python sklearn LinearDiscriminantAnalysis用法及代码示例
- Python sklearn LinearRegression用法及代码示例
- Python sklearn LocalOutlierFactor.kneighbors用法及代码示例
- Python sklearn LinearSVR用法及代码示例
- Python sklearn LinearSVC用法及代码示例
注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.linear_model.LassoLarsCV。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。