逻辑回归的优点:

  1. 使用于分类问题中的回归算法
  2. 逻辑回归对线性关系的拟合效果好
  3. 逻辑回归计算快
  4. 逻辑回归返回的分类结果不固定,而是以小数的形式呈现的类概率数字
  5. 逻辑回归有抗噪能力强的特点,在小数据集上表现较好

sklearn.linear_model.LogisticRegression

class sklearn.linear_model.LogisticRegression(penalty='l2'*dual=Falsetol=0.0001C=1.0fit_intercept=Trueintercept_scaling=1class_weight=Nonerandom_state=Nonesolver='lbfgs'max_iter=100multi_class='auto'verbose=0warm_start=Falsen_jobs=Nonel1_ratio=None)

penalty:字符串,指定正则化策略,'l1'或'l2'

dual:bool,默认为True,求解对偶形式

C:float,指定惩罚项系数的倒数,如果值越小,则正则化项越大

fit_intercept:bool,是否需要计算b值

intercept_scaling:float,只有当solver='liblinear'才有意义

使用损失函数衡量参数为θ的模型拟合训练集时产生的信息损失的大小,并以此衡量参数θ的优劣

在模型拟合过程中,让损失函数最小化的参数组合

正则化用来防止模型过拟合,常用的有L1正则化和L2正则化

L1范式表示每个参数的绝对值之和

L2范式表示为参数向量中的每个参数的平方和的开方值

L1正则化会将参数压缩到0,L2正则化只会让参数尽量小,不会取到0

import matplotlib as plt
import pandas as pd
from sklearn.datasets import fetch_california_housing
from sklearn.datasets import load_breast_cancer, load_wine
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.model_selection import GridSearchCV
cancer = load_breast_cancer()
data_train, data_test, target_train, target_test = train_test_split(cancer.data, cancer.target, test_size=0.2, random_state=0)
lr = LogisticRegression(max_iter=300, solver='liblinear', random_state=0)lr.fit(data_train, target_train)
train_score = lr.score(data_train, target_train)
print("train score:", train_score)
test_score = lr.score(data_test, target_test)
print("test score:", test_score)
def test_LogisticRegression_C(*data):'''测试 LogisticRegression 的预测性能随  C  参数的影响:param data: 可变参数。它是一个元组,这里要求其元素依次为:训练样本集、测试样本集、训练样本的标记、测试样本的标记:return: None'''X_train,X_test,y_train,y_test=dataCs=np.logspace(-2,4,num=100)scores=[]for C in Cs:regr = LogisticRegression(C=C, max_iter=300, solver='liblinear')regr.fit(X_train, y_train)scores.append(regr.score(X_test, y_test))## 绘图fig=plt.figure()ax=fig.add_subplot(1,1,1)ax.plot(Cs,scores)ax.set_xlabel(r"C")ax.set_ylabel(r"score")ax.set_xscale('log')ax.set_title("LogisticRegression")plt.show()test_LogisticRegression_C(data_train,data_test,target_train,target_test) # 调用  test_LogisticRegression_C

对于线性回归,多重共线性会有影响,需要使用方差过滤和方差膨胀因子VIF消除共线性

多元逻辑回归

  • multi_class

'ovr'表示分类问题是二分类

'multinomial'表示处理多分类

’auto'根据数据的分类情况自动确定分类类型

  • solver

'liblinear':坐标下降法

‘lbfgs':拟牛顿法

’newton-cg':牛顿法的一种,海森矩阵优化迭代损失函数

'sag':随机平均梯度下降

’saga'

样本不平衡与参数class_weight

通过重复样本方式平衡类别

【sklearn学习】逻辑回归相关推荐

  1. sklearn的逻辑回归

    官方逻辑回归链接 sklearn.linear_model.LogisticRegression - scikit-learn 1.0.2 documentationhttps://scikit-le ...

  2. sklearn之逻辑回归和岭回归

    过拟合与欠拟合 过拟合:一个假设在训练数据上能够获得比其他假设更好的拟合, 但是在训练数据外的数据集上却不能很好地拟合数据,此时认为这个假设出现了过拟合的现象.(模型过于复杂) 欠拟合:一个假设在训练 ...

  3. Python+sklearn使用逻辑回归算法预测期末考试能否及格

    封面图片:<Python程序设计实验指导书>,董付国编著,清华大学出版社 ================= 虽然名字中带有"回归"二字,但实际上逻辑回归是一个用于分类 ...

  4. 【机器学习之逻辑回归】sklearn+python逻辑回归详解

    文章目录 一.逻辑回归 二.算法原理介绍 三.代码实现 3.1 sklearn-API介绍 3.2 sklearn-代码实现 3.3 python手写代码实现 四.总结 五.算法系列 一.逻辑回归 逻 ...

  5. sklearn入门——逻辑回归

    什么是逻辑回归 逻辑回归也叫对数几率回归,在西瓜书中有介绍,吃瓜的时候也学过,可惜呀,脑子不好使,全忘了.重新学一下吧.... 在理解对数几率回归之前需要先理解线性回归.线性回归的任务,就是构造一个预 ...

  6. sklearn之逻辑回归LR

    对于线性回归,由于都是求线性参数:逻辑回归,由于其呈S型,具有在坐标轴两个左右边进行急剧上升下降的趋近1或者0,因此具有分类特性. 决策树是天生的过拟合,而线性回归是天生的欠拟合: L1范式可以完成 ...

  7. Sklearn笔记--逻辑回归调参指南

    1 逻辑回归概述 pθ(y=1∣x)=δ(θ⊤x)=11+e−θ⊤xpθ(y=0∣x)=e−θ⊤x1+e−θ⊤x\begin{array}{c} p_{\theta}(y=1 | x)=\delta\ ...

  8. 李宏毅深度学习——逻辑回归

    这就是logistic regression的原理 logistic regression相比于linear regression而言,外面套了一个sigmoid函数   y_hat是110而不是10 ...

  9. python机器学习基础05——sklearn之逻辑回归+分类评价指标

    文章目录 逻辑回归 逻辑回归的损失函数 逻辑回归API 分类模型的评价指标 混淆矩阵 准确率 召回率(较多被使用) 精确率 f1-score:精确率和召回率的调和平均数 AUC 逻辑回归 逻辑回归是经 ...

  10. Sklearn学习-iris数据集学习

    Sklearn学习-逻辑回归(iris数据集) 使用load_iris加载数据集,查看包含的keys 查看数据的列名,分类目标的名称 获取data和target,并打印各自的shape 拆分训练集和测 ...

最新文章

  1. SAP QM 将业务上的偏差管理集成进入SAP系统?
  2. zabbix linux网卡流量,如何使用zabbix3.2监控Windows网卡流量
  3. Scala(三):类
  4. 软件工程结对开发团队成员以及题目介绍
  5. (转载)C++之tinyXML使用
  6. %hd %d %ld %u ......
  7. P4231 三步必杀 二次差分
  8. 杭电 4548 美素数
  9. 数学归纳法证明时间复杂度
  10. vscode代码对比功能
  11. 员工信息管理系统--C语言
  12. python可视化计算器_使用Python自带GUI tkinter编写一个期权价格计算器
  13. android 如何读取u盘中数据恢复,U盘数据恢复常见问题及恢复方法汇总
  14. 资历越深,越是负资产
  15. 当你提出的分手被当真,应该如何去挽回
  16. 软考 | 2019年上半年 软件设计师 下午试卷
  17. 走进Dubbo——RPC框架简介
  18. 华为防火墙的基本安全策略
  19. 自动化测试+性能面试题整理--个人最新【持续更新】
  20. Docker 磁盘空间使用分析与清理 解决磁盘空间不足

热门文章

  1. quill鼠标悬浮 出现提示_外设报道——DELUX多彩M618X垂直鼠标颠覆创新
  2. Android开发之API29以上Environment.getExternalStoragePublicDirectory废弃的问题
  3. Android开发之非常好用的日志工具类(公司项目挖出来的)
  4. java 固定listview_listview Button始终放在底部示例
  5. 使用apache配置基于IP地址的虚拟主机
  6. iOS开发如何实现消息推送机制
  7. Windows 2003 Server 用户隔离
  8. Java 的抽象特性:抽象类与接口深度解析
  9. 【Linux】/dev/null 21 详解
  10. 大数据学习路线copy自淘宝