加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sklearn.linear_model.LogisticRegression参数说明

发布时间:2020-12-14 06:14:38 所属栏目:百科 来源:网络整理
导读:目录 sklearn.linear_model.LogisticRegression sklearn.linear_model.LogisticRegressionCV sklearn.linear_model.LogisticRegression LogisticRegression(penalty=‘l2‘,dual=False,tol=0.0001,C=1.0,fit_intercept=True,intercept_scaling=1,class_weigh

目录

  • sklearn.linear_model.LogisticRegression
  • sklearn.linear_model.LogisticRegressionCV

sklearn.linear_model.LogisticRegression

LogisticRegression(penalty=‘l2‘,dual=False,tol=0.0001,C=1.0,fit_intercept=True,intercept_scaling=1,class_weight=None,random_state=None,solver=‘warn‘,max_iter=100,multi_class=‘warn‘,verbose=0,warm_start=False,n_jobs=None)
  • penalty:惩罚项,可为‘l1‘ or ‘l2‘‘netton-cg‘,‘sag‘,‘lbfgs‘只支持‘l2‘

    1. ‘l1‘正则化的损失函数不是连续可导的,而‘netton-cg‘,‘lbfgs‘这三种算法需要损失函数的一阶或二阶连续可导。
    2. 调参时如果主要是为了解决过拟合,选择‘l2‘正则化就够了。若选择‘l2‘正则化还是过拟合,可考虑‘l1‘正则化。
    3. 若模型特征非常多,希望一些不重要的特征系数归零,从而让模型系数化的话,可使用‘l1‘正则化。
  • dual:选择目标函数为原始形式还是对偶形式。

    将原始函数等价转化为一个新函数,该新函数称为对偶函数。对偶函数比原始函数更易于优化。

  • tol:优化算法停止的条件。当迭代前后的函数差值小于等于tol时就停止。
  • C:正则化系数。其越小,正则化越强。
  • fit_intercept:选择逻辑回归模型中是否会有常数项(b)
  • intercept_scaling
  • class_weight:用于标示分类模型中各种类型的权重,{class_label: weight} or ‘balanced‘

    1. ‘balanced‘:类库根据训练样本量来计算权重。某种类型的样本量越多,则权重越低。
    2. 若误分类代价很高,比如对合法用户和非法用户进行分类,可适当提高非法用户的权重。
    3. 样本高度失衡的。如合法用户9995条,非法用户5条,可选择‘balanced‘,让类库自动提高非法用户样本的权重。
  • random_state:随机数种子。
  • solver:逻辑回归损失函数的优化方法。

    1. ‘liblinear‘:使用坐标轴下降法来迭代优化损失函数。
    2. ‘lbfgs‘:拟牛顿法的一种。利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数。
    3. ‘newton-cg‘:牛顿法的一种。同上。
    4. ‘sag‘:随机平均梯度下降。每次迭代仅仅用一部分的样本来计算梯度,适合于样本数据多的时候。
    5. 多元逻辑回归有OvR(one-vs-rest)和MvM(many-vs-many)两种,而MvM一般比OvR分类相对准确一些。但是,‘liblinear‘只支持OvR。
  • max_iter:优化算法的迭代次数。
  • multi_class‘ovr‘ or ‘multinomial‘‘multinomial‘即为MvM。

    1. 若是二元逻辑回归,二者区别不大。
    2. 对于MvM,若模型有T类,每次在所有的T类样本里面选择两类样本出来,把所有输出为该两类的样本放在一起,进行二元回归,得到模型参数,一共需要T(T-1)/2次分类。
  • verbose:控制是否print训练过程。
  • warm_start
  • n_jobs:用cpu的几个核来跑程序。


sklearn.linear_model.LogisticRegressionCV

  • 相比于LogisticRegressionLogisticRegressionCV使用交叉验证来选择正则化系数C。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读