class sklearn.linear_model.LogisticRegressionCV(Cs=10, fit_intercept=True, cv=’warn’, dual=False, penalty=’l2’, scoring=None, solver=’lbfgs’, tol=0.0001, max_iter=100, class_weight=None, n_jobs=None, verbose=0, refit=True, intercept_scaling=1.0, multi_class=’warn’, random_state=None, l1_ratios=None)
主要参数介绍:
Cs中的每个值描述正则化强度的倒数。如果Cs为int,则以1e-4和1e4之间的对数标度选择Cs值网格。与支持向量机一样,较小的值指定更强的正则化。 fit_intercept : bool,optional(默认= True) 指定是否应将常量(也称为偏差或截距)添加到决策函数中。 cv : int或交叉验证生成器,可选(默认=无) 使用的默认交叉验证生成器是分层K-Folds。如果提供了整数,则它是使用的折叠数。默认5倍 dual : bool,可选(默认= False) 双重或原始配方。使用liblinear解算器,双重公式仅实现l2惩罚。当n_samples> n_features时,首选dual = False。 penaly :str,'l1','l2'或'elasticnet',可选(默认='l2')用于指定惩罚中使用的规范。'newton-cg','sag'和'lbfgs'解算器仅支持l2处罚。'elasticnet'仅由'saga'解算器支持。 solver:逻辑回归损失函数的优化方法,有四种算法供选择 ‘newton-cg’:坐标轴下降法来迭代优化损失函数 ‘lbfgs’:, ‘liblinear’:牛顿法变种 ‘sag’:随机梯度下降 其中‘newton-cg’, ‘lbfgs’, ‘sag’只适用于L2惩罚项的优化,liblinear两种都适用。因为L1正则化的损失函数不是连续可导的,而{‘newton-cg’, ‘lbfgs’,‘sag’}这三种优化算法时都需要损失函数的一阶或者二阶连续导数。而‘liblinear’并没有这个依赖。 当样本数目比较大时,使用sag效果较好,因为它只使用一部分样本进行训练。 a) liblinear:使用了开源的liblinear库实现,内部使用了坐标轴下降法来迭代优化损失函数。 b) lbfgs:拟牛顿法的一种,利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数。 c) newton-cg:也是牛顿法家族的一种,利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数。 d) sag:即随机平均梯度下降,是梯度下降法的变种,和普通梯度下降法的区别是每次迭代仅仅用一部分的样本来计算梯度,适合于样本数据多的时候。 维度<10000时,lbfgs法比较好, 维度>10000时, cg法比较好,显卡计算的时候,lbfgs和cg都比seg快 tol : float,optional(默认值= 1e-4)容忍停止标准。 max_iter : int,optional(默认值= 100) 优化算法的最大迭代次数。 class_weight : dict或'balanced',可选(默认=无)与表单中的类相关联的权重。如果没有给出,所有课程都应该有一个重量。 n_jobs : int或None,可选(默认=无)交叉验证循环期间使用的CPU核心数。 verbose : int,optional(默认值= 0)对于'liblinear','sag'和'lbfgs'求解器将详细设置为任何正数以表示详细程度。 refit : bool,optional(默认= True)如果设置为True,则在所有折叠中对得分进行平均,并且获取对应于最佳得分的coefs和C,并且使用这些参数进行最终的改装。否则,对应于折叠的最佳分数的coefs,intercepts和C被平均。 intercept_scaling : float,optional(默认值= 1)仅在使用求解器“liblinear”且self.fit_intercept设置为True时有用。在这种情况下,x变为[x,self.intercept_scaling],即具有等于intercept_scaling的常数值的“合成”特征被附加到实例向量。截距变成了。 multi_class : str,{'ovr','multinomial','auto'},optional(default ='ovr'如果选择的选项是'ovr',那么二进制问题适合每个标签。对于“多项式”,最小化的损失是整个概率分布中的多项式损失拟合,即使数据是二进制的。当solver ='liblinear'时,'multinomial'不可用。如果数据是二进制的,或者如果solver ='liblinear','auto'选择'ovr',否则选择'multinomial'。版本0.18中的新功能:用于“多项式”情况的随机平均梯度下降求解器。版本0.20更改:默认值将在0.22中从“ovr”更改为“auto”。 random_state : int,RandomState实例或None,可选(默认=无)如果是int,则random_state是随机数生成器使用的种子; 如果是RandomState实例,则random_state是随机数生成器; 如果为None,则随机数生成器是由其使用的RandomState实例 l1_ratios : float或None列表,可选(默认=无)弹性网混合参数列表,带。仅用于。值0等于使用,而1等于使用 。因为,惩罚是L1和L2的组合。 |