回归方法(三)logistic regression(数据集Titanic)

Logistic Regression逻辑回归的简单解释 Logistic Regression也叫Logit Regression,在机器学习中属于参数估计的模型。逻辑回归与普通线性回归(Linear Regression)有很大的关系。在应用上,它们有所区别: 普通线性回归主要用于连续变量的预测,即,线性回归的输出yy的取值范围是整个实数区间 逻辑回归用于离散变量的分类,即,它的输出yy的取值范围是一个离散的集合,主要用于类的判 阅读详情

1logistic 分布:设X是连续随机变量,X服从logistic分布是指X具有以下分布函数和密度函数:F(x)=P(X\leqslant x)=1/(1+e^{-(x-\mu )/\gamma })                       f(x)={F}'(x)=e^{(x-\mu)/\gamma }/\gamma (1+e^{(x-\mu )/\gamma })^2    

分布函数F(x)属于逻辑斯蒂函数,图形是一条S曲线,该曲线以点(\mu,1/2)为中心对称,曲线在中心点附近增长速度较快,在两端增长速度较慢,形状参数\gamma的值越小,曲线在中心附近增长越快。

二项逻辑斯蒂回归模型是一种分类模型,由条件概率分布P(Y\X)表示,形式为参数化的逻辑斯蒂分布,这里随机变量x取值为实数,随机变量y的取值为1或0.通过监督学习的方法来估计模型参数。

p(Y=1|x)=\frac{exp(w\cdot x+b)}{1+exp(w\cdot x+b)}p(Y=0|x)=\frac{1}{1+exp(w\cdot x+b)}这里,w和b都是参数,分别称为权值向量和偏置。          几率(odds)是指该事件发生的概率与改时间不发生的概率比值。事件的对数几率(log odds)的函数是logit(p)=log(p/1-p)           对于逻辑斯蒂回归而言log\frac{P(Y=1|x)}{1-p(Y=1|x)}=w\cdot x也就是说,在这个回归模型中输出Y=1的对数几率是输入x的线性函数。或者说,输出Y=1的对数几率是由输入x的线性函数表示的模型,即逻辑斯蒂回归模型。

换一个角度而言,对输入x进行分类线性函数w\cdot x,值域为实数域。通过逻辑斯蒂回归定义,可以将线性函数w\cdot x转换为概率。p(Y=1)=\frac{exp(w\cdot x)}{1+exp(w\cdot x)}这是线性函数的值越接近正无穷,概率值就越接近1.线性函数的值越接近负无穷,概率值就越接近0。这就是逻辑斯蒂回归模型。

(模型参数估计  多项逻辑斯蒂回归  待补充)

2与线性回归的对比:

在线性回归中,因变量的取值范围是整个实轴,这里仅取两个值。

误差项不是正态分布

因变量服从伯努利分布而不是正态分布

3应用

人力资源分析(应聘结果)  足彩预测  银行风控

4用R进行案例分析          实现的函数为glm(),需要同时设置参数family="binomial"

用逻辑回归模型来分析kaggle中Titanic数据集合,通过已知变量来预测乘客是否生还。

training.data.raw <- read.csv('https://raw.githubusercontent.com/agconti/kaggle-titanic/master/data/train.csv')#读取数据集
head(training.data.raw,1)#查看数据项目和类型
> head(training.data.raw,1)
  PassengerId Survived Pclass                    Name  Sex Age SibSp Parch    Ticket Fare Cabin Embarked
1           1        0      3 Braund, Mr. Owen Harris male  22     1     0 A/5 21171 7.25              S

可以看到数据包括12项信息,这里我们想通过 pclass(社会地位),sex(性别),age(年龄),sibsp(家庭关系1,是否夫妻),parch(家庭关系2,父母,孩子,和保姆一起的孩子),fare(票价),embarked(出发港口)这7个变量预测乘客的是否生还。

data <- subset(training.data.raw,select=c(2,3,5,6,7,8,10,12))#用subset函数选取所需的列
data$Age[is.na(data$Age)] <- mean(data$Age,na.rm=T)
data <- data[!is.na(data$Embarked),]#处理NA
rownames(data) <- NULL
train <- data[1:800,]#划分训练集
test <- data[801:889,]#测试集
model <- glm(Survived ~.,family=binomial(link='logit'),data=train)#模型拟合
summary(model)#显示拟合细节
Call:
glm(formula = Survived ~ ., family = binomial(link = "logit"), 
    data = train)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.6059  -0.5933  -0.4250   0.6215   2.4148  

Coefficients:
              Estimate Std. Error z value Pr(>|z|)    
(Intercept)  15.947761 535.411378   0.030   0.9762    
Pclass       -1.087576   0.151088  -7.198 6.10e-13 ***
Sexmale      -2.754348   0.212018 -12.991  < 2e-16 ***
Age          -0.037244   0.008192  -4.547 5.45e-06 ***
SibSp        -0.293478   0.114660  -2.560   0.0105 *  
Parch        -0.116828   0.128113  -0.912   0.3618    
Fare          0.001515   0.002352   0.644   0.5196    
EmbarkedC   -10.810682 535.411254  -0.020   0.9839    
EmbarkedQ   -10.812679 535.411320  -0.020   0.9839    
EmbarkedS   -11.126837 535.411235  -0.021   0.9834    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1066.33  on 799  degrees of freedom
Residual deviance:  708.93  on 790  degrees of freedom
AIC: 728.93

Number of Fisher Scoring iterations: 12

 预测模型的精度

fitted.results <- predict(model,newdata=subset(test,select=c(2,3,4,5,6,7,8),type='response'))
fitted.results <- ifelse(fitted.results > 0.5,1,0)
misClasificError <- mean(fitted.results != test$Survived)
round(1-misClasificError,3)
[1] 0.809

输出结果为0.809 (即预测精度)

预测评估

install.packages("ROCR")
library(ROCR)
p <- predict(model, newdata=subset(test,select=c(2,3,4,5,6,7,8)), type="response")
pr <- prediction(p, test$Survived)
auc <- performance(pr, measure = "auc")
auc <- auc@y.values[[1]]
auc
[1] 0.866342

画图

prf <- performance(pr, measure = "tpr", x.measure = "fpr")
plot(prf)

     

 

参考资料:李航《统计学》公众号:数萃大数据

 

 

 

 

 

 

 

 

 

 

 

 

 

 

推荐阅读:https://www.cnblogs.com/nxld/p/6170690.html

【SAS】逻辑斯回归 Logistic regression (1、基础应用) HL检验为模型拟合指标,其原理在于判断预测值与真实值之间的gap情况,如果p值大于0.05,则说明通过HL检验,即说明预测值与真实值之间并无非常明显的差异。反之如果p值小于0.05,则说明没有通过HL检验,预测值与真实值之间有着明显的差异,即说明模型拟合度较差。估计:方程回构系数,正数表示相关因素增加发生概率,负数表示相关因素减少发生概率。二元变量不需改写01,可以用class设置自动改写比如。Pr > 卡方:p值,小于0.05表示有影响。[1] 沈明來.統計分析與SAS應用。连续变量可以直接使用比如。 阅读详情

相关推荐

使用Logistic Regression方法对MNIST 数据集进行数字识别

使用Logistic Regression方法对MNIST 数据集进行数字识别 问题描述 请设计下述算法,求解 MNIST 数据集上的Logistic Regression问题: 梯度下降法 随机梯度法 对于每种算法,请给出每步计算结果与最优解的距离以及每步计算结果在测试集上所对应的分类精度。此外,请讨论随机梯度法中Mini Batch大小对计算结果的影响。可参考: http://deeple...

Ding 的博客 6597

逻辑回归(Logistic Regression)

逻辑回归(Logistic Regression)

qq_45276547的博客 300

对数几率回归(Logistic Regression)总结

逻辑回归logistic regression,虽然名字是回归,但是实际上它是处理分类问题的算法。简单的说回归问题和分类问题如下:回归问题:预测一个连续的输出。 分类问题:离散输出,比如二分类问题输出0或1.逻辑回归常用于垃圾邮件分类,天气预测、疾病判断和广告投放。一、Logistic回归假设函数对于一个分类问题,希望找到一个预测函数hθ(x),使得:只有发生“y=1”(正例)与不发生“y=0”(

code_caq的博客 1万+

回归分析讲解及一元线性回归和逻辑回归对iris数据集分析实战(附源码 超详细)

回归分析讲解及一元线性回归和逻辑回归对iris数据集分析实战(附源码 超详细)

showswoller的博客 1436

[机器学习笔记] Logistic Regression与Linear Regression的区别

逻辑回归(Logistic Regression)与线性回归(Linear Regression)的区别 Logistic Regression 应用于分类问题 除了可以解决二分类问题外,还可以解决多分类问题。 Logistic Regression 是离散的。例如预测明天天气-阴,晴,雨。分类问题是用于将事物打上一个标签,通常结果为离散值。例如判断一幅图片上的动物是一只猫还是一只狗...

梅森上校的博客 业精于勤荒于嬉,形成于思毁于随。 4474

关于Kaggle入门Titanic的一次简单尝试 -- 逻辑回归(Logistic Regression)

前言 问题描述 Titanic的问题界面在这里:https://www.kaggle.com/c/titanic 首先说一下Kaggle, 按简介Kaggle is the world’s largest data science community with powerful tools and resources to help you achieve your data science goals. 来说,Kaggle是通过以竞赛和奖金(部分有)的方式,为所有从事或有志从事data science的人

JingPNnXxx的博客 1287

干货 | 从菜鸟到老司机,数据科学的 17 个必用数据集推荐

◆◆◆ 菜鸟入门 1. Iris 数据集 在模式识别文献中,Iris 数据集恐怕是最通用也是最简单的数据集了。要学习分类技术,Iris 数据集绝对是最方便的途径。如果你之前从未接触过数据科学这一概念,从这里开始一定没错,因为该数据集只有 4 列 150 行。 典型问题:在可用属性基础上预测花的类型。 2.泰坦尼克数据集 泰坦尼克数据集...

weixin_34061042的博客 842

XGBoost模型跟Logistic Regression模型的本质区别

把握机器学习算法关键点有两个 1、loss function的理解(包括:特征X/标签Y配对的建模,X/Y配对建模的loss function的设计)。 2、loss function的求解过程。这两点串接在一起构成了算法实现的主框架。

数据分析之路 1万+

大数据回归分析

回归分析是一种统计学方法,主要用于探究变量间的相互关系。它旨在揭示一个或多个自变量(独立变量)如何影响因变量(依赖变量)的变化。通过构建回归模型,我们可以描述数据间的内在联系,并预测因变量的未来值。该方法基于数理统计原理,通过对大量数据进行数学处理,确定因变量与某些自变量的相关性,建立回归方程,并用于预测未来的因变量趋势。在实际应用中,选择一元回归分析还是多元回归分析取决于研究问题的具体需求和数据的特性。如果研究问题只涉及两个变量之间的关系,且数据质量较高,那么一元回归分析可能是一个合适的选择。

yinze13的博客 1745

Spark MLlib Logistic Regression逻辑回归算法

1.1 逻辑回归算法 1.1.1 基础理论 logistic回归本质上是线性回归,只是在特征到结果的映射中加入了一层函数映射,即先把特征线性求和,然后使用函数g(z)将最为假设函数来预测。g(z)可以将连续值映射到0和1上。 它与线性回归的不同点在于:为了将线性回归输出的很大范围的数,例如从负无穷到正无穷,压缩到0和1之间,这样的输出值表达为“可能性”才能说服广大民众。当然了,把大值压缩到这

Spark MLlib 机器学习 1万+

【ML】机器学习数据集:sklearn中回归数据集介绍

在机器学习的教程中,我们会看到很多的demo,这些demo都是基于python中自带的数据集。今天我们将介绍三个用于回归预测的数据集。

学无止境、积少成多、厚积薄发 1万+

机器算法之逻辑回归(Logistic Regression)详解

逻辑回归并不是传统意义上的回归分析,而是一种用于处理二分类问题的线性模型。它通过计算样本属于某一类别的概率来进行分类,尽管名字中有“回归”二字,但它实际上是一种分类算法。简单来说,逻辑回归回答的是“这件事发生的可能性有多大”。

HappyAcmen 2812

新手如何学习车载底层嵌入式软件开发(AutoSar)

汽车嵌入式开发

ACarSoft的博客 4221

Logistic Regression 逻辑回归

Logistic Regression

Aroundchange 4648

TeXstudio完整安装配置教程(2025最新版)

至此,你已经完成了TeXstudio的完整安装和配置!现在你可以:✅ 使用TeXstudio编写LaTeX文档✅ 正确编译中英文混排的文档✅ 掌握基本的编辑和配置技巧LaTeX的学习曲线较陡,但一旦掌握,你会发现它在学术写作中的强大之处。建议从简单的文档开始练习,逐步掌握更高级的功能。祝你LaTeX写作顺利!如果有任何问题,欢迎在评论区留言交流。关键词:TeXstudio安装、LaTeX环境配置、中文LaTeX、TeX Live、学术论文写作更新日期:2025年10月。

weixin_51241407的博客 4500

国产PHY芯片YT8512H替代LAN8742A的实战指南(STM32F407平台)

本文详细介绍了在STM32F407平台上,使用国产PHY芯片YT8512H替代LAN8742A的完整实战过程。文章深入剖析了硬件设计中的关键信号连接差异(如CRS_DV与RXDV复用)、时钟布线要点,并提供了软件驱动修改、PHY配置及调试排错的系统指南,旨在帮助工程师高效完成国产化替代,规避常见陷阱。

defi6farmer的博客 857

逻辑回归【Logistic Regression】

Logistic回归名为回归,实为分类模型。与朴素贝叶斯分类一样,Logistic回归也是采用后验概率最大化的分类准则,不同的是,朴素贝叶斯分类模型是生成模型,而Logistic回归是判别式模型。

v20000727的博客 1685

Experion PKS系列开发:I_O模块_ExperionPKS与第三方I-O模块的集成

通过上述步骤,可以成功将第三方I/O模块集成到Honeywell Experion PKS系统中,实现对现场设备的监视和控制。集成过程中需要注意选择合适的第三方模块,配置正确的通信参数,编写正确的控制逻辑,并进行充分的测试,以确保系统的稳定性和可靠性。不同的通信协议(如Modbus、Profibus、Ethernet/IP、CANopen、OPC UA)有其独特的配置和编程方法,但总体流程相似。在实际应用中,根据项目需求选择合适的协议和模块,可以有效提高系统的灵活性和适应性。

zhubeibei168的博客 1102

python 实现逻辑斯谛回归(logistic regression)

有用请点赞,没用请差评。 欢迎分享本文,转载请保留出处。 logistic regression模型的原理可以参考这两篇博客: https://www.jianshu.com/p/4cf34bf158a1 https://blog.youkuaiyun.com/c406495762/article/details/77723333 这两篇博客在训练模型时采用的公式是: ,也就是代码中...

Big_Pai的博客 5071

Centos 7 Linux 安装单机 Hadoop(HDFS):下载、安装、配置、测试

本文详细介绍了在 CentOS 7 系统上安装与配置单机 Hadoop(HDFS)的完整流程,涵盖 JDK 环境准备、Hadoop 安装包下载与部署、核心配置文件(core-site.xml、hdfs-site.xml 等)修改、SSH 免密登录设置、HDFS 格式化及服务启动,并通过命令行与 Web 界面验证 HDFS 和 YARN 功能,适合 Hadoop 初学者快速搭建本地测试环境。

寒水馨 · 轻量级技术文档 · hanshuixin.org 3235

Qt(C++)使用QChart动态显示3个设备的温度变化曲线

Qt的QChart是一个用于绘制图表和可视化数据的类。提供了一个灵活的、可扩展的、跨平台的图表绘制解决方案,可以用于各种应用程序,如数据分析、科学计算、金融交易等。

1917

Logistic 回归(Logistic Regression)

二分类Logistic回归模型介绍: 知识点1.Logit变换:取对数 假设在p个独立自变量x1,x2,⋯,xp作用下,取“1”的概率是p,则取“0”的概率是1-p,取1和0的概率之比为p/(1-p),称为事件的优势比(odds:“几率,发生比,胜算,赔率”),对odds函数取对数(取对数操作也叫Logit变换)就得到Logit(p)函数: 知识点2.Logistic函数 Logist...

pillow的博客 6517

【AI智能体】全场景AI智能体工作台WorkBuddy实战操作详解

全场景AI智能体工作台WorkBuddy实战操作详解

congge 5493
上一篇: 专门存放Python里面基础函数
下一篇: RFM模型---以航空公司客户价值分析为例(草稿)
WandaWang0822
博客等级 码龄9年 89粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值