sklearn.linear_model.Lasso

Posted happypeak

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sklearn.linear_model.Lasso相关的知识,希望对你有一定的参考价值。

class sklearn.linear_model.Lasso(alpha=1.0fit_intercept=Truenormalize=Falseprecompute=Falsecopy_X=Truemax_iter=1000tol=0.0001warm_start=Falsepositive=Falserandom_state=Noneselection=‘cyclic‘)

目标函数

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

参数(Parameters)

  • alpha:float, optional

  正则项参数。常数。默认值1.0。alpha=0时转化为最小二乘估计,由线性回归模型求解。使用Lasso模型时,通常令alpha≠0。

  • fit_intercept:boolean, optional, default True

  是否计算截距。如果为False,对数据进行去中心化处理。

  • normalize:boolean, optional, default False

  当fit_intercept=False时,该参数忽略。如果为normalize=True,使用回归模型之前先对回归数据X进行去均值和除以l2范数的处理。如果要对数据X进行标准化,令normalize=False,并在调用fit方法之前,使用sklearn.preprocessing.StandardScaler进行标准化

  • precompute:True | False | array-like, default=False

  是否使用事先计算好的Gram矩阵来加速模型计算。如果precompute=‘auto‘,让程序自动决定。Gram矩阵可以作为参数被传递。对于稀疏数据,通常令precompute=True,保留稀疏性。

  • copy_X:boolean, optional, default True

  如果copy_X=True,复制X;如果copy_X=False,覆盖上次运行的X。

  • max_iter:int, optional

  最大迭代次数。

  • tol:float, optional

  优化容忍度:如果更新大于tol,继续优化,直到小于tol。

  • warm_start:bool, optional

  如果warm_start=True,使用上次的解作为初始化;如果warm_start=False,清除之前的解。

  • positive:bool, optional

  如果positive=True,强制将系数设为正数。

  • random_state:int, RandomState instance or None, optional, default None

  伪随机数发生器种子,随机选择特征来更新模型。如果为int,random_state即为随机数发生器使用的种子;如果为RandomState实例,random_state即为随机数发生器;如果为None,随机数发生器为np.random使用的随机数发生器实例。该参数仅当selection=‘random’时使用。

  • selection:str, default ‘cyclic’

  如果为‘random’,每次迭代都会更新随机系数,而不是按顺序遍历每个特征。该参数值可以使得算法更快收敛,尤其当tol>1e-4时。

属性(Attributes)

  • coef_:array, shape (n_features,) | (n_targets, n_features)

  系数向量。目标函数中的w。

  • sparse_coef_scipy.sparse matrix, shape (n_features, 1) | (n_targets, n_features)

  求解的coef_的稀疏表示。

  • intercept_:float | array, shape (n_targets,)

  决策函数的依赖项。

  • n_iter_:int | array-like, shape (n_targets,)

  坐标下降法求解达到容忍度时的迭代次数。

注意

  1. 模型拟合算法是坐标下降法
  2. 为避免不必要的内存占用,X应为numpy数组。

方法(Methods)

  • fit(self, X, y[, check_input]):使用坐标下降法拟合模型。
  • get_params(self[, deep]):获得Lasso模型的参数。
  • path(X, y[, l1_ratio, eps, n_alphas, …]):使用坐标下降法计算elastic net path。
  • predict(self, X):模型预测。
  • score(self, X, y[, sample_weight]):返回预测误差。
  • set_params(self, **params):设置估计器的参数。

以上是关于sklearn.linear_model.Lasso的主要内容,如果未能解决你的问题,请参考以下文章