Skip to main content
Version: 2.17.1

逻辑回归多分类

  • 算法介绍

    利用sigmoid函数映射连续实数值域到0-1之间,实现二分类或多分类,用极大似然估计训练模型,基于梯度下降迭代求解参数。

  • 使用场景

    适用于二分类、多分类等场景,对数据特征要求不高。

  • 优势介绍

  1. 训练速度快:逻辑回归是一种线性模型,具有较快的训练速度;
  2. 可解释性强:逻辑回归可解释性较强,可以清晰地显示每个特征对结果的作用;
  3. 能够处理高维度数据:逻辑回归能够很好地处理高维度数据。
  • 劣势介绍
  1. 容易受到异常值的影响: 当存在很多异常值时,逻辑回归的表现会变得不稳定;
  2. 需要进行特征选择:逻辑回归对特征的选择比较敏感,需要花费时间和精力选择最佳的特征集合;
  3. 仅适用于线性可分问题:逻辑回归相当于在一个由超平面切分的空间中做判别,只适用于线性可分问题。
  • 参数介绍

    仅支持通过可视化方式,配置读取该组件参数,参数详情如下表所示:

页签参数参数名称是否必选参数描述默认值
数据源表名inputTable数据表
默认参数选择特征标签列labelColName输入表中选择标签列名类型。
模型参数惩罚项penalty包括l1和l2。netton-cg,sag,lbfgs只支持l2。若选择l2正则化还是过拟合,可考虑l1正则化。若模型特征非常多,一些不重要的特征系数归零,让模型系数化,使用l1正则化。l2
模型参数训练结束误差边界tol优化算法停止的条件。当迭代前后的函数差值小于等于tol时就停止。0.0001
模型参数正则化系数C值越小,正则化越强。1
模型参数是否估计截距fit_intercept选择逻辑回归模型中是否会有常数项b。TRUE
调优参数用于标示分类模型中各种类型的权重class_weightbalanced,类库根据训练样本量来计算权重。某种类型的样本量越多,则权重越低。也支持自定义。balanced
调优参数逻辑回归损失函数的优化方法solver包括liblinear、lbfgs、newton - cg、sag、saga。liblinear,使用坐标轴下降法来迭代优化损失函数。只支持OvR。lbfgs,拟牛顿法一种。利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数。newton-cg也是牛顿法一种。sag,随机平均梯度下降。每次迭代仅仅用一部分的样本来计算梯度,适合于样本数据多。liblinear
调优参数优化算法的迭代次数max_iter优化算法的迭代次数。1000
调优参数子采样multi_class包括ovr、multinomial、auto。multinomial即为MvM。若是二元逻辑回归,二者区别不大。auto
  • 推荐参数值
  1. penalty:正则化项选择,默认L2正则化,可以尝试使用L1正则化;
  2. C:正则化系数选择,默认为1。C值越小,则模型正则化程度越高;C值越大,则表示模型的正则化程度越低。可以通过网格搜索等方法来优化选择适合数据集的最佳C值;
  3. solver:可以选用不同的解决方案,例如Liblinear或SAGA,可以通过指令进行赋值;
  4. class_weight:不平衡样本需要调节类别权重,如class_weight='balanced',尝试让模型更侧重于预测罕见的事件;
  5. max_iter:最大迭代次数,默认是100。
  • 调参建议
  1. penalty 正则化项,默认值为'l2'。通常来说,当数据集规模较大时,采用l2正则化同时结合较小的C(正则化强度)能够获得更好的性能;而当数据集规模较小或者特征比较稀疏时,采用l1正则化可以达到更好的结果。
  2. C正则化强度的倒数,默认为1.0。较小的C值表示更强的正则化,可以防止过拟合,但可能会导致欠拟合;而较大的C值则可能会导致过拟合。
  3. solver 求解算法,默认为‘liblinear’。 对于较小的数据集,建议使用‘liblinear’求解器;而对于较大的数据集,建议选择‘saga’求解器。
  4. max_iter 最大迭代次数,默认100。 在模型收敛之前达到最大迭代次数时,算法会自动停止。