Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >如何用逻辑回归做数据分析?

如何用逻辑回归做数据分析?

作者头像
Python数据科学
发布于 2021-01-28 10:11:54
发布于 2021-01-28 10:11:54
1K00
代码可运行
举报
文章被收录于专栏:Python数据科学Python数据科学
运行总次数:0
代码可运行

逻辑回归是解决二分类问题的监督学习算法,用来估计某个类别的概率。其直接预测值是表示0-1区间概率的数据,基于概率再划定阈值进行分类,而求解概率的过程就是回归的过程。

逻辑回归应用于数据分析的场景主要有三种:

  • 驱动力分析:某个事件发生与否受多个因素所影响,分析不同因素对事件发生驱动力的强弱(驱动力指相关性,不是因果性);
  • 预测:预测事件发生的概率;
  • 分类:适合做多种分类算法、因果分析等的基础组件;

01

逻辑回归的原理

下图是之前讲到的线性回归模型的数据分布,线性回归是用一条线来拟合自变量和因变量之间的关系,我们可以看到其输出结果y是连续的。例如我们想预测不同用户特征对所使用产品的满意分,可以采用线性回归模型。但是如果我们想根据这些因素去判断用户的性别,或者是否推荐使用等,之前的线性回归就不适用了,这时,我们就要用到逻辑回归进行二分类了。但是分类模型输出结果却需要是离散的,如何把连续型的y转化为取值范围0-1的数值呢?

答案是,我们只需要将线性回归模型的结果带入到sigmoid函数(sigmoid函数就是Logistic函数,故本算法名为逻辑回归),即可将线性回归模型转化为二分类问题,这就是逻辑回归。我们可以这样理解:逻辑回归=线性回归+sigmoid函数

那么,什么是sigmoid函数呢?如图,当输入值趋于无穷小时,函数值趋近于0;输入值趋于无穷大时,函数值趋近于1。我们将线性回归结果y带入到sigmoid函数的x,即下图横坐标,就轻而易举的将连续变量y转换为了0-1区间的一个概率值。当这个概率值(函数值)小于0.5时,我们将最终结果预测为0,当概率值大于0.5时,我们将预测结果预测为1。

以上就是逻辑回归的基本原理,简述一下逻辑回归的算法步骤,可以概括为四步:

  • 将自变量特征输入
  • 定义自变量的线性组合y,即针对自变量线性回归
  • 将线性回归结果y映射到sigmoid函数,生成一个0-1范围取值的函数概率值
  • 根据概率值,定义阈值(通常为0.5),判定分类结果的正负

02

逻辑回归的目标函数

在明确了逻辑回归的原理后,我们来看它的目标函数可以用什么来表示?在之前的线性回归模型中,我们用误差平方和来做其目标函数,意思就是每个数据点预测值与实际值误差的平方和。在此,我们将单一数据点的误差定义为cost函数,即可获得目标函数的通用形式:

我希望每一个我预测出的数据点结果使得它的误差所带来的代价越小越好,然后求和所得到的目标函数也是越小越好。在具体模型训练的时候,我们在假设可以调整模型的一些参数,通过这些参数我们求得每一点的预测值,最终我们调整模型参数使得目标函数可以取到它能取得的最小值。

但是逻辑回归不可用最小误差平方和作为其目标函数,原因主要是逻辑回归的优化方法需要使用梯度下降法 ,而使用误差平方和会导致非凸(non-convex)的目标函数,非凸函数会存在多个局部极小值,而多个局部极小值不利于用梯度下降法找到全局的最小损失值。

那么逻辑回归用什么来表示误差呢?如果y表示样本的真实标签,即0或者1,f(x)表示预测结果是0或者1的概率,f(x)的取值在区间[0,1]。

逻辑回归的cost函数如下,我们如何理解这个公式呢?

当真实标签为正时,即y= 1,Cost函数=-log⁡(f(x)), 预测值越接近于1,说明预测越准确,则损失函数趋于0。

当真实标签为负时,即y= 0,Cost函数=-log⁡(1-f(x)),预测值越接近于0,说明预测越准确,则损失函数趋于0。

将逻辑回归的cost函数简化,即得出:

将逻辑回归cost函数带入目标函数通用形式,即可形成逻辑回归最终的目标函数:

03

逻辑回归python实现

鸢尾花下有三个亚属,分别是山鸢尾 (setosa),变色鸢尾(versicolor)和维吉尼亚鸢尾(virginica),据此可将鸢尾属花分为以上三类。本案例根据花萼的长度和宽度,花瓣的长度和宽度,采用逻辑回归建立分类模型,对鸢尾属花进行分类。

1、导入包及训练数据集

2、观测多特征数据点分布

通过观察特征分布,发现山鸢尾(蓝色)与其他两类花能够较好区分,但是变色鸢尾(绿色)和维吉尼亚鸢尾(红色)相对难以区分。

3、数据清洗、划分训练集

将分类变量赋于0/1/2数值,观测结果标签分布,发现各种类型鸢尾分布均匀。将特征变量和结果变量进行划分,并划分训练集与测试集。

4、 训练分类模型、并进行分类性能评估

5、构建混淆矩阵

观察混淆矩阵,发现我们的分类器只在两个样本上预测失误。这两个样本真实类别是2(virginica,维吉尼亚鸢尾),而我们的分类器将其分类成1(versicolor,变色鸢尾)

6、获取模型系数与截距(模型系数即为影响事件发生的驱动力)


以上逻辑回归就讲完了,逻辑回归是数据分析面试的高频考点,一定要熟练掌握喔~

代码语言:javascript
代码运行次数:0
运行
复制
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python数据科学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
独家 | 手把手教你推导决策树算法
决策树是最重要的机器学习算法之一,其可被用于分类和回归问题。本文中,我们将介绍分类部分。
数据派THU
2020/06/12
6710
1、决策树理论知识详解与sklearn实践
首先看决策树的相关理论,在我看过的一些资料中,李航老师的《统计机器学习》这部分写得最全面,因此下面的内容主要参考了这本书,但顺序我做了一些更改,改成了决策树理论建立的顺序,以便读者能够更容易看懂。
zstar
2022/06/13
4110
1、决策树理论知识详解与sklearn实践
理论:决策树及衍射指标
特征A对训练数据集D的信息增益g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下的经验条件熵H(D|A)之差
sladesal
2018/08/27
3240
理论:决策树及衍射指标
决策树的构建原理
决策树(Decision Tree)是一种简单但是广泛使用的分类预测模型。通过训练数据构建决策树,可以高效的对未知的数据进行分类并作出决策。决策树有两大优点,一是决策树模型可以读性好,具有描述性,有助于人工分析;二是效率高,决策树只需要一次构建,反复使用,但是预测的最大计算次数不能超过决策树的深度。一个简单的决策树例子如下所示:
SYSU星空
2022/05/05
1.5K0
决策树的构建原理
HAWQ + MADlib 玩转数据挖掘之(十一)——分类方法之决策树
一、分类方法简介 1. 分类的概念         数据挖掘中分类的目的是学会一个分类函数或分类模型(也常常被称作分类器),该模型能把数据库中的数据项映射到给定类别中的某一个。分类可描述如下:输入数据
用户1148526
2018/01/03
1.5K0
HAWQ + MADlib 玩转数据挖掘之(十一)——分类方法之决策树
决策树:最清晰明了的分类模型
决策树属于监督学习算法的一种,根据原始输入数据中的特征,构建一个树状模型来进行分类。比如探究早晨是否出去打网球的例子,输入数据如下
生信修炼手册
2021/03/10
6780
决策树:最清晰明了的分类模型
MADlib——基于SQL的数据挖掘解决方案(25)——分类之随机森林
装袋(bagging)又称自助聚集(bootstrap aggregating),是一种根据均匀概率分布从数据集中重复抽样(有放回的)的技术。每个自助样本集都和原始数据集一样大。由于抽过程是有回放的,因此一些样本可能在同一训练数据集总出现多次,而其它一些却可能被忽略。一般来说,自助样本
用户1148526
2019/05/25
1K0
Machine learning -- C4.5算法详解及Python实现
程序实现部分转自 Wsine的博客小站 地址:http://www.cnblogs.com/wsine/p/5180315.html C4.5是一系列用在机器学习和数据挖掘的分类问题中的算法。它的目标是监督学习:给定一个数据集,其中的每一个元组都能用一组属性值来描述,每一个元组属于一个互斥的类别中的某一类。C4.5的目标是通过学习,找到一个从属性值到类别的映射关系,并且这个映射能用于对新的类别未知的实体进行分类。 C4.5由J.Ross Quinlan在ID3的基础上提出的。ID3算法用来构造决策
昱良
2018/04/04
2.7K0
Machine learning -- C4.5算法详解及Python实现
MADlib——基于SQL的数据挖掘解决方案(21)——分类之KNN
数据挖掘中分类的目的是学会一个分类函数或分类模型,该模型能把数据库中的数据项映射到给定类别中的某一个。分类可描述如下:输入数据,或称训练集(Training Set),是由一条条数据库记录(Record)组成的。每一条记录包含若干个属性(Attribute),组成一个特征向量。训练集的每条记录还有一个特定的类标签(Class Label)与之对应。该类标签是系统的输入,通常是以往的一些经验数据。一个具体样本的形式可为样本向量:(v1,v2,...,vn;c),在这里vi表示字段值,c表示类别。分类的目的是:分析输入数据,通过在训练集中的数据表现出来的特征,为每一个类找到一种准确的描述或模型。由此生成的类描述用来对未来的测试数据进行分类。尽管这些测试数据的类标签是未知的,我们仍可以由此预测这些新数据所属的类。注意是预测,而不是肯定,因为分类的准确率不能达到百分之百。我们也可以由此对数据中的每一个类有更好的理解。也就是说:我们获得了对这个类的知识。
用户1148526
2019/05/25
1K0
机器学习之决策树(Decision Tree)及其Python代码实现
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/article/details/54927178
大黄大黄大黄
2018/09/14
2.4K0
机器学习之决策树(Decision Tree)及其Python代码实现
Python人工智能:基于sklearn的决策树分类算法实现总结
本文使用sklearn的sklearn.tree.export_graphviz类函数实现分类决策树的可视化。需要注意的的是我们需要首先配置graphviz软件,具体配置方法可以自行百度,我前面写了一篇文章可供参考Python人工智能:Ubuntu系统中网络结构绘图工具库Graphviz的使用方法简介。
用户1143655
2023/03/21
1.9K0
Python人工智能:基于sklearn的决策树分类算法实现总结
决策树
决策树归纳的基本算法是贪心算法,它以自顶向下递归各个击破的方式构造决策树。 贪心算法:在每一步选择中都采取在当前状态下最好的选择。 在其生成过程中,分割方法即属性选择度量是关键。通过属性选择度量,选择出最好的将样本分类的属性。 根据分割方法的不同,决策树可以分为两类:基于信息论的方法(较有代表性的是ID3、C4.5算法等)和最小GINI指标方法(常用的有CART,SLIQ及SPRINT算法等)。 前面已经学习了预备知识信息量与Gini index ID3算法 ID3的属性选择度量就是使用信息增益,选择最高信
用户1733462
2018/06/01
5990
原创 | 决策树在金融领域的应用(附链接)
作者:王佳鑫审校:陈之炎 本文约4800字,建议阅读15分钟本文带你了解决策树是如何工作的。 决策树的基础概念 决策树(Decision Tree)是一种非参数的有监督学习方法,它能够从一系列有特征和标签的数据中总结出决策规则,并用树状图的结构来呈现这些规则,以解决分类和回归问题。决策树算法容易理解,适用各种数据,在解决各种问题时都有良好表现,尤其是以树模型为核心的各种集成算法,在各个行业和领域都有广泛的应用。我们来简单了解一下决策树是如何工作的。 决策树算法的本质是一种图结构,只需要问一系列问题就可以对数
数据派THU
2022/09/02
1.2K0
原创 | 决策树在金融领域的应用(附链接)
【机器学习】ID3、C4.5、CART 算法
ID3(Iterative Dichotomiser 3)算法使用信息增益作为特征选择的标准。它是一种贪心算法,信息增益表示按某特征划分数据集前后信息熵的变化量,变化量越大,表示使用该特征划分的效果越好。但ID3偏向于选择取值较多的特征,可能导致过拟合。
摆烂小白敲代码
2024/09/29
2180
【机器学习】ID3、C4.5、CART 算法
决策树算法之----C4.5
1. C4.5算法简介 C4.5是一系列用在机器学习和数据挖掘的分类问题中的算法。它的目标是监督学习:给定一个数据集,其中的每一个元组都能用一组属性值来描述,每一个元组属于一个互斥的类别中的某一类。C4.5的目标是通过学习,找到一个从属性值到类别的映射关系,并且这个映射能用于对新的类别未知的实体进行分类。 C4.5由J.Ross Quinlan在ID3的基础上提出的。ID3算法用来构造决策树。决策树是一种类似流程图的树结构,其中每个内部节点(非树叶节点)表示在一个属性上的测试,每个分枝代
智能算法
2018/04/03
1.5K0
决策树算法之----C4.5
决策树之ID3、C4.5、C5.0等五大算法及python实现
版权声明:博主原创文章,微信公众号:素质云笔记,转载请注明来源“素质云博客”,谢谢合作!! https://blog.csdn.net/sinat_26917383/article/details/47617801
悟乙己
2019/05/28
2.6K0
决策树(Decision Tree)C4.5算法
C4.5,是机器学习算法中的另一个分类决策树算法,它是决策树(决策树也就是做决策的节点间的组织方式像一棵树,其实是一个倒树)核心算法,也是上节所介绍的ID3的改进算法,所以基本上了解了一半决策树构造方法就能构造它。
统计学家
2019/04/08
1.7K0
决策树(Decision Tree)C4.5算法
数据分析入门系列教程-决策树原理
今天我们一起来学习决策树,那么什么是决策树呢,其实在生活中,我们无时无刻不在使用它。
周萝卜
2020/10/30
5550
数据分析入门系列教程-决策树原理
机器学习17:决策树模型
决策树分为两大类:分类树和回归树,分类树用于分类标签值,回归树用于预测连续值,常用算法有ID3、C4.5、CART等。
用户5473628
2019/08/08
9530
机器学习17:决策树模型
[机器学习算法]决策树引论和CART算法
决策树decision tree分类法是一种简单但广泛使用的分类技术。以是否贷款违约的二分类问题为例,当我们希望根据给定的训练集习得一个模型对新出现的贷款人进行分类时,经常需要从大量的贷款申请单中识别出来哪些贷款人是劣质的贷款人(容易拖欠贷款)。想象一下客户经理和助手针对一个贷款者进行的如下对话:
TOMOCAT
2020/06/09
6610
[机器学习算法]决策树引论和CART算法
推荐阅读
相关推荐
独家 | 手把手教你推导决策树算法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验