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', 'sag', '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。

sklearn.linear_model.LogisticRegression参数说明的更多相关文章

  1. sklearn linear_model,svm,tree,naive bayes,ensemble

    sklearn linear_model,svm,tree,naive bayes,ensemble by iris dataset .caret, .dropup > .btn > .c ...

  2. sklearn.linear_model.LinearRegresion学习

    sklearn线性模型之线性回归 查看官网 https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearR ...

  3. sklearn.linear_model.LinearRegression

    官网:http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html class ...

  4. sklearn.svm.SVC 参数说明

    原文地址:sklearn.svm.SVC 参数说明 ============================== 资源: sklearn官网+DOC 库下载GitHub =============== ...

  5. sklearn.neural_network.MLPClassifier参数说明

    目录 sklearn.neural_network.MLPClassifier sklearn.neural_network.MLPClassifier MLPClassifier(hidden_la ...

  6. sklearn.svm.SVC参数说明

    摘自:https://blog.csdn.net/szlcw1/article/details/52336824 本身这个函数也是基于libsvm实现的,所以在参数设置上有很多相似的地方.(PS: l ...

  7. python sklearn.linear_model.LinearRegression.score

    score(self, X, y, sample_weight=None) 作用:返回该次预测的系数R2     其中R2 =(1-u/v).u=((y_true - y_pred) ** 2).su ...

  8. sklearn学习2-----LogisticsRegression

    1.官网地址: http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.htm ...

  9. 【导包】使用Sklearn构建Logistic回归分类器

    官方英文文档地址:http://scikit-learn.org/dev/modules/generated/sklearn.linear_model.LogisticRegression.html# ...

随机推荐

  1. 基于React-Native0.55.4的语音识别项目全栈方案

    移动端的API能力验证方案与PC端不一样!不一样!!不一样!!! 即使需要使用的API都存在,也不一定能用,这一点和PC端是有很大区别的,国内的手机系统虽然都是基于Android,但几乎都会经过各大厂 ...

  2. Redis in python

    什么是Redis 数据库类型分为两种,关系型和非关系型,Redis是一个非常重要的非关系型数据库. 既然是数据库,就是存储数据的一个空间,或者说是一个软件,非关系就是不再按照一对一多对多等结构进行外键 ...

  3. 学JAVA第十一天,属性与方法

    今天清明节假期结束第二天,昨天请了一天假去考科目二,还好考过了,O(∩_∩)O哈哈~~~~ 今天老师讲了类的属性与方法的使用 就用代码来说明吧: package pkg3;public class T ...

  4. 【转】Android 开发规范(完结版)

    摘要 1 前言 2 AS 规范 3 命名规范 4 代码样式规范 5 资源文件规范 6 版本统一规范 7 第三方库规范 8 注释规范 9 测试规范 10 其他的一些规范 1 前言 为了有利于项目维护.增 ...

  5. MySQL高级特性之分区表

    对于用户而言,分区表是一个独立的逻辑表,但是在底层由多个物理子表组成.实现分区的代码实际上是对一组底层表的句柄对象的封装,对分区表的请求都会通过句柄对象转化成对存储引擎的接口调用 意义 MySQL在创 ...

  6. Spring(二)继承jdbcDaoSupport的方式实现(增删改查)

    一 首先创建数据库表和相应的字段,并创建约束 二 建立项目,导入jar包(ioc,aop,dao,数据库驱动,连接池)并且将applicationContext.xml文件放在src下 三 开启组件扫 ...

  7. 原生js获取元素非行内样式属性的方法

    获取当前对象的样式DOM标准中的全局方法 getComputedStyle(obj).width (获取元素的宽度),但在非标准IE浏览器(IE8)以下有兼容问题IE8以下要这样写 obj.curre ...

  8. Go开发之路(目录)

    知识点 1. Go语言 简介 2. Go语言 基本语法 3. Go语言 strings以及strconv的使用 4. Go语言 时间和日期类型 5. Go语言 指针类型 6. Go语言 流程控制 7. ...

  9. Linux设备驱动之IIO子系统——Triggered buffer support触发缓冲支持

    Triggered buffer support触发缓冲支持 在许多数据分析应用中,能够基于某些外部信号(触发器)捕获数据是比较有用的. 这些触发器可能是: 数据就绪信号 连接到某个外部系统的IRQ线 ...

  10. 在ubuntu16.04中再次体验.net core 2.0

    在上一篇文章中在ubuntu16.04中初次体验.net core 2.0 简单介绍了一下ubuntu中运行.net core 2.0.配置nginx反向代理以及安装supervisor守护进程……本 ...