sklearn.linear_model.LassoCV
Posted happypeak
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sklearn.linear_model.LassoCV相关的知识,希望对你有一定的参考价值。
class
sklearn.linear_model.
LassoCV
(eps=0.001, n_alphas=100, alphas=None, fit_intercept=True, normalize=False, 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模型。
最佳模型由交叉验证得到。
目标函数
(1 / (2 * n_samples)) * ||y - Xw||^2_2 + alpha * ||w||_1
参数(Parameters)
- eps:float, optional
路径长度。eps=1e-3即alpha_min / alpha_max = 1e-3。
- n_alphas:int, optional
正则化路径中alpha的个数。
- alphas:numpy array, optional
alpha组成的list。如果为None,自动选择alpha。
- fit_intercept:boolean, 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 | ‘auto’ | array-like
是否使用事先计算好的Gram矩阵来加速模型计算。如果precompute=‘auto‘,让程序自动决定。Gram矩阵可以作为参数被传递。对于稀疏数据,通常令precompute=True,保留稀疏性。
- max_iter:int, optional
最大迭代次数。
- tol:float, optional
优化容忍度:如果更新大于tol,继续优化,直到小于tol。
- copy_X:boolean, optional, default True
如果copy_X=True,复制X;如果copy_X=False,覆盖上次运行的X。
- cv:int, cross-validation generator or an iterable, optional
确定交叉验证划分策略。
-
- None:使用默认的5折
- integer:折数
- CV splitter
- (train, test)划分数组
- verbose:bool or integer
输出的详细程度。
- n_jobs:int or None, optional (default=None)
交叉验证时使用的CPU个数。
- None:1个CPU(不包括使用
joblib.parallel_backend
) - -1:所有CPU
- 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)
- alpha_:float
交叉验证选择的惩罚项个数。
- coef_:array, shape (n_features,) | (n_targets, n_features)
系数向量。目标函数中的w。
- intercept_:float | array, shape (n_targets,)
决策函数的依赖项。
- mse_path_:array, shape (n_alphas, n_folds)
每一个alpha、每一折交叉验证的测试集均方误差。
- alphas_:numpy array, shape (n_alphas,)
alpha网格。
- dual_gap_:ndarray, shape ()
最佳alpha(alpha_)优化结束时的dual gap。
- n_iter_:int
坐标下降法求解达到容忍度时的迭代次数。
注意
为避免不必要的内存占用,X应为numpy数组。
方法(Methods)
fit
(self, X, y):使用坐标下降法拟合模型。get_params
(self[, deep]):获得Lasso模型的参数。path
(X, y[, eps, n_alphas, alphas, …]):使用坐标下降法计算Lasso path。predict
(self, X):模型预测。score
(self, X, y[, sample_weight]):返回预测误差。set_params
(self, **params):设置估计器的参数。
以上是关于sklearn.linear_model.LassoCV的主要内容,如果未能解决你的问题,请参考以下文章