sklearn.linear_model 文档

http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html

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 : str,‘l1’或’l2’,默认:‘l2’
    用于指定正则化中使用的规范。 ‘newton-cg’,'sag’和’lbfgs’解算器只支持l2正则化。
    一般penalty选择L2正则化就够了。如果选择L2正则化发现还是过拟合,即预测效果差的时候,可以考虑L1正则化。
    如果模型的特征非常多,希望一些不重要的特征系数归零,从而让模型系数稀疏化的话,也可以使用L1正则化。

  • solver : str,{‘newton-cg’,‘lbfgs’,‘liblinear’,‘sag’,‘saga’},默认:‘liblinear’。
    用于优化问题的算法。
    对于小数据集,‘liblinear’是一个不错的选择,而’sag’和’saga’对于大数据集来说更快。
    对于多类问题,只有’newton-cg’,‘sag’,'saga’和’lbfgs’处理多项损失。
    ‘newton-cg’,'lbfgs’和’sag’只处理L2 penalty,而’liblinear’和’saga’处理L1 penalty。

  • multi_class : str,{‘ovr’,‘multinomial’,‘auto’},默认值:‘ovr’
    multi_class参数决定了我们分类方式的选择,有ovr和multinomial两个值可以选择,默认是 ovr。
    ovr即one-vs-rest(OvR),而multinomial即many-vs-many(MvM)。如果是二元逻辑回归,ovr和multinomial并没有任何区别,区别主要在多元逻辑回归上。

    OvR的思想很简单,无论你是多少元逻辑回归,我们都可以看做二元逻辑回归。具体做法是,对于第K类的分类决策,我们把所有第K类的样本作为正例,除了第K类样本以外的所有样本都作为负例,然后在上面做二元逻辑回归,得到第K类的分类模型。其他类的分类模型获得以此类推。

    而MvM则相对复杂,这里举MvM的特例one-vs-one(OvO)作讲解。如果模型有T类,我们每次在所有的T类样本里面选择两类样本出来,不妨记为T1类和T2类,把所有的输出为T1和T2的样本放在一起,把T1作为正例,T2作为负例,进行二元逻辑回归,得到模型参数。我们一共需要T(T-1)/2次分类。

    从上面的描述可以看出OvR相对简单,但分类效果相对略差(这里指大多数样本分布情况,某些样本分布下OvR可能更好)。而MvM分类相对精确,但是分类速度没有OvR快。

    如果选择了ovr,则4种损失函数的优化方法liblinear,newton-cg, lbfgs和sag都可以选择。但是如果选择了multinomial,则只能选择newton-cg, lbfgs和sag了。

  • C : float,默认值:1.0

  • dual : bool,默认值:False
    当n_samples> n_features时,首选dual = False。

  • max_iter : int,默认值:100

  • n_jobs : int或None,可选(默认=无)
    如果multi_class =‘ovr’“,则在对类进行并行化时使用的CPU核心数。solver无论是否指定了“multi_class”,当设置为“liblinear” 时,将忽略此参数。-1表示使用所有处理器。

from sklearn.linear_model import LogisticRegression
clf = LogisticRegression(random_state=0, solver='lbfgs',multi_class='multinomial')clf.fit(X, y) clf.predict(X[:2, :]
clf.predict_proba(X[:2, :])

Logisticregression学习相关推荐

  1. python数据挖掘学习笔记】十六.逻辑回归LogisticRegression分析鸢尾花数据

    但是很多时候数据是非线性的,所以这篇文章主要讲述逻辑回归及Sklearn机器学习包中的LogisticRegression算法 #2018-03-28 16:57:56 March Wednesday ...

  2. python分析鸢尾花数据_python数据挖掘学习笔记】十六.逻辑回归LogisticRegression分析鸢尾花数据...

    但是很多时候数据是非线性的,所以这篇文章主要讲述逻辑回归及Sklearn机器学习包中的LogisticRegression算法 #2018-03-28 16:57:56 March Wednesday ...

  3. 【deep learning学习笔记】注释yusugomori的LR代码 --- LogisticRegression.cpp

    模型实现代码,关键是train函数和predict函数,都很容易. #include <iostream> #include <string> #include <mat ...

  4. Sklearn学习笔记,LogisticRegression的用法详解

    简介 Sklearn (全称 Scikit-Learn) 是基于 Python 语言的机器学习工具.它建立在 NumPy, SciPy, Pandas 和 Matplotlib 之上,里面的 API ...

  5. Datawhale组队学习:初级算法梳理课程任务

    背景 Datawhale 是国内很有名的一个开源学习组织.这个组织将渴望改变的学习者以及一群有能力有想法的青年人集结在一起,营造出一种互促高效的学习环境,一起为开源学习付出努力. Datawhale ...

  6. 机器学习集成学习与模型融合!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:李祖贤,深圳大学,Datawhale高校群成员 对比过kaggle ...

  7. 数据挖掘终篇!一文学习模型融合!从加权融合到stacking, boosting

    Datawhale 作者:田杨军 ,Datawhale优秀学习者 摘要:对于数据挖掘项目,本文将学习如何进行模型融合?常见的模型融合的方法有哪些?针对不同的问题类型,应该选择哪种方法呢? 模型融合:通 ...

  8. 利用PySpark进行迁移学习的多类图像分类

    在本文中,我们将演示计算机视觉问题,它具有结合两种最先进技术的能力:深度学习和Apache Spark.我们将利用深度学习管道的强大功能来解决多类图像分类问题. PySpark 是 Spark 为 P ...

  9. 独家 | 从基础到实现:集成学习综合教程(附Python代码)

    作者:AISHWARYA SINGH 翻译:和中华 校对:丁楠雅 本文约8000字,建议阅读10+分钟. 本文从基础集成技术讲起,随后介绍了高级的集成技术,最后特别介绍了一些流行的基于Bagging和 ...

最新文章

  1. jq onclick 定义_从HTML中的onClick属性调用jQuery方法
  2. 获取jQuery中的复选框值
  3. HTTP代理如何正确处理Cookie
  4. .net上传,一个选择直接上传(ashx)和byteArray上传
  5. E - Counting Cliques HDU - 5952
  6. c# MEF框架(一 MEF简介及简单的Demo)
  7. 高效pycharm使用技巧_您是否正在使用这种高效的采访技巧?
  8. 字符的用意_北辰的符号意义 阅读答案
  9. android listview 移动到顶部,android listview滚动到顶部
  10. java重载中this的作用_Java2:构造方法、方法重载和this关键字
  11. Linux c++ udp按包发送接收文件
  12. 使用idea创建项目并通过git上传到码云
  13. jquery18 css() : 样式的操作
  14. 数据规划(python实现数独自动算法之三)
  15. (附源码)php初中历史专题教学网站 毕业设计 100623
  16. 浏览器报ScriptResource.axd异常
  17. 微信小程序从零开始开发步骤(三)
  18. Java调用opencv实现图片去水印
  19. Pytorch ——基础指北_肆 [构建数据集与操作数据集]
  20. 免费在线loading生成。

热门文章

  1. 快速上手Matlab二维画图
  2. Failed to connect to the host via ssh: Control socket connect(/root/.ansible/cp/xxx): Connect
  3. shell脚本修改mysql密码
  4. 视图概念,优缺点及作用
  5. maven打包失败解决方案
  6. 开源OA:手把手教你搭建OA办公系统(3)开发企业报销审批流程
  7. vim 安装插件及常用插件
  8. File.separator是什么?
  9. Python 3.X 用Thinker做任意多边形的缩放图(一)
  10. EditPluss有效激活码