本文简要介绍python语言中 sklearn.linear_model.Lasso
的用法。
用法:
class sklearn.linear_model.Lasso(alpha=1.0, *, fit_intercept=True, normalize='deprecated', precompute=False, copy_X=True, max_iter=1000, tol=0.0001, warm_start=False, positive=False, random_state=None, selection='cyclic')
使用 L1 先验作为正则化器(又名 Lasso)训练的线性模型。
Lasso 的优化目标是:
(1 / (2 * n_samples)) * ||y - Xw||^2_2 + alpha * ||w||_1
从技术上讲,Lasso 模型使用
l1_ratio=1.0
(无 L2 惩罚)优化与弹性网络相同的目标函数。在用户指南中阅读更多信息。
- alpha:浮点数,默认=1.0
乘以 L1 项的常数。默认为 1.0。
alpha = 0
相当于普通的最小二乘,由LinearRegression
对象解决。出于数字原因,不建议将alpha = 0
与Lasso
对象一起使用。鉴于此,您应该使用LinearRegression
对象。- fit_intercept:布尔,默认=真
是否计算此模型的截距。如果设置为 False,则不会在计算中使用截距(即数据应居中)。
- normalize:布尔,默认=假
当
fit_intercept
设置为 False 时忽略此参数。如果为 True,则回归量 X 将在回归前通过减去均值并除以 l2 范数进行归一化。如果您希望标准化,请在使用normalize=False
对估计器调用fit
之前使用StandardScaler
。- precompute:布尔型或类似数组的形状 (n_features, n_features),默认=False
是否使用预先计算的 Gram 矩阵来加速计算。 Gram 矩阵也可以作为参数传递。对于稀疏输入,此选项始终为
False
以保持稀疏性。- copy_X:布尔,默认=真
如果
True
,X 将被复制;否则,它可能会被覆盖。- max_iter:整数,默认=1000
最大迭代次数。
- tol:浮点数,默认=1e-4
优化的容差:如果更新小于
tol
,则优化代码检查对偶间隙的最优性并继续直到它小于tol
。- warm_start:布尔,默认=假
当设置为 True 时,重用之前调用的解决方案作为初始化,否则,只需擦除之前的解决方案。请参阅词汇表。
- positive:布尔,默认=假
当设置为
True
时,强制系数为正。- random_state:int,RandomState 实例,默认=无
选择要更新的随机特征的伪随机数生成器的种子。当
selection
== ‘random’ 时使用。传递 int 以获得跨多个函数调用的可重现输出。请参阅词汇表。- selection:{‘cyclic’, ‘random’},默认='循环'
如果设置为‘random’,则每次迭代都会更新随机系数,而不是默认情况下按顺序循环特征。这(设置为‘random’)通常会导致收敛速度显著加快,尤其是当 tol 高于 1e-4 时。
- coef_:ndarray 形状 (n_features,) 或 (n_targets, n_features)
参数向量(成本函数公式中的 w)。
- dual_gap_:形状的浮点数或 ndarray (n_targets,)
给定参数 alpha,优化结束时的对偶间隙,形状与 y 的每个观察值相同。
sparse_coef_
形状为 (n_features, 1) 或 (n_targets, n_features) 的稀疏矩阵拟合
coef_
的稀疏表示。- intercept_:形状的浮点数或 ndarray (n_targets,)
决策函数中的独立项。
- n_iter_:int 或 int 列表
坐标下降求解器为达到指定容差而运行的迭代次数。
- n_features_in_:int
拟合期间看到的特征数。
- feature_names_in_:ndarray 形状(
n_features_in_
,) 拟合期间看到的特征名称。仅当
X
具有全为字符串的函数名称时才定义。
参数:
属性:
注意:
用于拟合模型的算法是坐标下降。
为避免不必要的内存重复,fit 方法的 X 参数应直接作为 Fortran-contiguous numpy 数组传递。
例子:
>>> from sklearn import linear_model >>> clf = linear_model.Lasso(alpha=0.1) >>> clf.fit([[0,0], [1, 1], [2, 2]], [0, 1, 2]) Lasso(alpha=0.1) >>> print(clf.coef_) [0.85 0. ] >>> print(clf.intercept_) 0.15...
相关用法
- Python sklearn LassoLars用法及代码示例
- Python sklearn LassoLarsIC用法及代码示例
- Python sklearn LassoCV.path用法及代码示例
- Python sklearn LassoCV用法及代码示例
- Python sklearn LassoLarsCV用法及代码示例
- 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.Lasso。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。