逻辑回归求解二分类问题以及SPSS的实现

news/2024/7/6 1:45:10/文章来源:https://www.cnblogs.com/dlmuwxw/p/18282428

分类问题就是给出物质的属性,判断其属于什么成分,本文将讲述逻辑回归求解二分类问题
本文着重于模型的实现,对于推导只是概括性的叙述

目录
  • 一、问题提出
  • 二、逻辑回归函数logistic
    • 1.线性线性概率模型
    • 2.sigmod函数
    • 3.求解方法————极大似然估计
    • 4.分类原则
  • 三、SPSS实现————以水果二分类数据为例
    • 1.数据处理
    • 2.进行二分类逻辑回归
      • (1)输入方法
      • (2)定义分类变量
    • 3.查看结果
      • (1)块1:分类表
      • (2)逻辑回归系数表
      • (3)预测结果解读
  • 四、回归结果差————如何选择合适的回归模型?
    • 1.加入平方项的实现方法
    • 2.无脑加入平方项的后果————过拟合
    • 3.如何确定合适的模型?————训练与测试

一、问题提出

二、逻辑回归函数logistic

1.线性线性概率模型

既然是回归问题,线性性是最简单的一种关系,在逻辑回归中,也是以线性概率模型作为基础进行回归。
此处的回归函数与多元线性回归一样,即y_hat=β0+β1x1+β2x2+.....
但也同样因为是2分类问题,y的值只能取0或者1。(在函数中体现为取0到1)
既然y只能取0或1那么就可以和已经非常成熟的模型————伯努利分布联系在一起,形成一个条件概率,这就是所谓的线性概率模型

2.sigmod函数

由于由于后者有解析表达式(而标准正态分布的cdf没有),所以计算logistic模型比probit模型更为方便。

3.求解方法————极大似然估计

4.分类原则

y_hat>=0.5,则认为y取1;否则认为y取0

三、SPSS实现————以水果二分类数据为例

1.数据处理

此处的数据处理部分就是把用中文表示的名词“苹果”改成数值型变量0-1,用excel容易做到,此处我们讲解用SPSS形成虚拟变量的方法

此处的“根名称”就是虚拟变量的名词,SPSS不知道哪个是0,哪个是1,于是会创造3组虚拟变量,我们只需要保留我们需要的那一组即可。此处我们保留“苹果”是1的变量

2.进行二分类逻辑回归

按图片设置好即可;需要保存概率组成员

接下来我们来解释一下具体的参数调整

(1)输入方法

此处的输入方法就是指如何输入自变量的方法;
输入:把自变量全部输入
向前:先输入一个自变量,看其是否显著。如果显著则保留,不显著的去除;然后再输入另一个自变量。不同方法使用的统计量不同
向后:把自变量全部输入,观察所有的变量是否显著。把最不显著的去除,然后再次进行检验,直到把全都显著的自变量保留。不同方法使用的统计量不同
一般采用向后的方法

(2)定义分类变量

自变量是分类形式的(如性别)需要单独定义分类变量;参考类别为第一个,则把第一个设置为1。参考类别的设置对结果影响不大

3.查看结果

(1)块1:分类表

如图所示,此表是一个预测与实测数目的二元表,对角线上的个数为分类正确的个数。并且给出了分类正确率

(2)逻辑回归系数表

(3)预测结果解读

SPSS会在数据中给出新的两列,分别为按逻辑函数计算出来的概率值和逻辑回归后的0-1变量

四、回归结果差————如何选择合适的回归模型?

上面的方法正确率只有75%左右,显然是正确率较低的,那如何提高正确率呢?
我们的模型是以线性模型作为基础,想要提高正确率,可以提高模型的复杂度,在线性回归模型中体现为增加平方项与交互项

1.加入平方项的实现方法

在SPSS中的计算变量功能可实现

2.无脑加入平方项的后果————过拟合

在我们把所有的自变量都加入平方项后,得到结果如图所示:

可以看到,虽然预测正确率为100%,但是所有的系数都不显著了,这就导致的模型的过拟合

3.如何确定合适的模型?————训练与测试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/737042.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

线上的一次fullgc排查过程

线上服务的GC问题,是Java程序非常典型的一类问题,非常考验工程师排查问题的能力。同时,几乎是面试必考题,但是能真正答好此题的人并不多,要么原理没吃透,要么缺乏实战经验。过去半年时间里,我们的广告系统出现了多次和GC相关的线上问题,有Full GC过于频繁的,有Young G…

基于GWO灰狼优化的LDPC码NMS译码算法最优归一化参数计算和误码率matlab仿真

1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印):2.算法涉及理论知识概要LDPC码是一种线性错误修正码,以其接近香农极限的优良性能而被广泛应用于现代通信系统中。NMS译码是一种基于最小平方误差准则的软判决译码方法,其目标是找到一个最可能的码字,使得接…

k8s-核心组件

核心组件组成 Kubernetes 主要由以下几个核心组件组成: - etcd :保存整个集群的状态 - API Server:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制 - Controller Manager:负责维护集群的状态,如故障检测、自动扩展、滚动更新等 - Scheduler:…

学习笔记485—Excel技巧:一键将文本数字转换为数值

Excel技巧:一键将文本数字转换为数值在使用Excel进行数据处理时,经常会遇到数据格式不匹配的问题。特别是当从外部导入数据或手动输入数据时,数字可能会被误识别为文本格式,这在进行数据计算和分析时会带来诸多不便。幸运的是,Excel提供了一些便捷的方法,可以帮助我们一键…

使用IDEA给项目打jar包

使用IDEA给项目打jar包参考地址:https://www.cnblogs.com/blog5277/p/5920560.html 感谢作者一、准备一个Java项目并先看看效果 ​ 只想打包,就跳过这一步: 一、准备一个Java项目并先看看效果。 ​ 如果启动jar包遇到报错:无法找到/加载主类就去看看第二步开头。 1、找一…

MCU点灯

MCU点灯 芯片型号:STM32F407ZET6 4个LED灯,网络标号分别为LED0 ,LED1,FSMC D10,FSMC D11。对应的引脚号分别为PF9,PF10,PE12,PE13。原理图//1.定义变量 GPIO_InitTypeDef GPIO_InitStructureF;//F端口 GPIO_InitTypeDef GPIO_InitStructureE;//E端口 int main()//中文注释 …

电子计算机类比赛的“武林秘籍”-电赛光电设计大赛计算机设计大赛嵌入式芯片与系统设计竞赛,你要的都在这里!

本文主要介绍了工科类学生参加比赛的必要性和益处、电子计算机类比赛的基本思路等内容电子计算机类比赛的“武林秘籍”-电赛光电设计大赛计算机设计大赛嵌入式芯片与系统设计竞赛,你要的都在这里! 为什么需要参加电子计算机类比赛 对于实现短期目标而言: 电子计算机类学科竞…

VMware安装CentOS7环境

准备 CentOS7的iso镜像 下载链接:https://mirrors.aliyun.com/centos/7/isos/x86_64/配置步骤 步骤一——创建虚拟机 1、点击创建新的虚拟机2、选择典型3、选择镜像文件4、填写对应信息5、选择虚拟机存储的位置6、存储为单个文件7、创建步骤二——配置centos7 1、打开虚拟机后…

Mybatis执行器

mybatis执行sql语句的操作是由执行器(Executor)完成的,mybatis中一共提供了3种Executor:类型 名称 功能REUSE 重用执行器 缓存PreparedStatement,下一次执行相同的sql可重用BATCH 批量执行器 将修改操作记录在本地,等待程序触发或有下一次查询时才批量执行修改操作SIMPLE…

本地安装seata

1. 下载,解压steata安装包 2. 修改配置里面的端口号 只要是localhost或者不是自己的端口号都更改成自己的端口号3. 修改配置nacos的文件执行 4、数据库中添加对应的表 数据库中的表名称尽量位seata_server,避免后面去修改 5、线上nacos配置 在public 下面进行配置,修改自己对…

关于自定义unordered_set\unordered_map中Hash和KeyEqual:函数对象和lambda表达式简单应用

以unordered_set为例,首先在cppreference中查看其模板定义:可以看到Hash类默认是std::hash<Key,KeyEqual类似,本文将Hash以函数对象写出,将KeyEqual以lambda写出。 class hashvec{public:size_t operator()(const vector<int> & vec) const {return hash<…

Python预测体重变化:决策树、tf神经网络、随机森林、梯度提升树、线性回归可视化分析吸烟与健康调查数据

全文链接:https://tecdat.cn/?p=36648 原文出处:拓端数据部落公众号 在当今的数据驱动时代,机器学习算法已成为解析复杂数据集、揭示隐藏模式及预测未来趋势的重要工具。特别是在医疗健康领域,这些算法的应用极大地提升了我们对疾病预防、诊断及治疗方案的理解与制定能力。…

Nuxt3 的生命周期和钩子函数(九)

摘要:本文介绍了Nuxt3中与Vite相关的五个生命周期钩子,包括vite:extend、vite:extendConfig、vite:configResolved、vite:serverCreated和vite:compiled,展示了如何在每个钩子中扩展Vite配置、读取配置、添加中间件和处理编译事件。每个钩子都有详细的描述和示例代码,帮助开…

地理信息科学:生态保护的智慧经纬

在地球这颗蓝色星球上,每一片森林的呼吸、每一条河流的流淌,都是生命交响曲中不可或缺的音符。而地理信息科学(GIS),正是我们手中解读自然密码、护航生态平衡的精密仪器。今天,让我们深入探讨GIS如何在生物多样性保护和生态系统管理中发挥其不可替代的作用。 🌱 GIS——…

软连接与硬链接

(1)软链接(symbolic link) 创建命令:ln -s <target> <link_name>其中:<target> 是目标文件或目录的路径,可以是相对路径或绝对路径。<link_name> 是要创建的软链接的名称,可以是相对路径或绝对路径。特点:笔试面试填空题和简答题:软链接的特点…

pycharm导入第三方包出现红色波浪线或新建flask项目出现红色波浪线解决办法

设置 -> 项目结构(Project Structure) ,将site-packages设为源代码

开源软件开发平台哪家好?

低代码技术平台、开源软件开发平台哪家好?进行数字化转型,离不开低代码技术平台等软件产品的加持与助力。因为它更好操作、更灵活、易维护等优势特点突出,在推动企业实现流程化办公的过程中助力明显,作用大,深得客户喜爱。那么,低代码技术平台、开源软件开发平台哪家好?…

阿里云 SAE 助力修正商城 3 周内提升系统承载能力 20 倍,轻松应对春晚流量

修正技术团队迫切需要升级 APP 架构以应对即将到来的超高并发场景。这一挑战不仅是对技术的考验,更是对修正品牌实力的一次展示。为了应对这次巨大的技术挑战,修正技术团队选择与阿里云云原生团队合作,进行 APP 架构的升级。作者:赵世振、刘松伟、朱坪" 从了解阿里云 …

使用yum 命令安装 dotnet 6

如果是超级管理员账号root 登录 不需要加 sudo。 sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpmsudo yum install dotnet-sdk-6.0sudo yum install dotnet-runtime-6.0 输入dotnet --info 查看 安装的 dotnet 版本

SpringCloud Alibaba Nacos 配置动态更新源码学习总结

众所周知,nacos两大核心功能,服务注册发现与动态配置 支持服务注册发现的有:Eureka、Consul、Zookeeper、Nacos 支持动态配置的有:Spring Cloud Config、Nacos、Apollo、Consul 像支持分布式的框架,必须得借用第三方服务,比如定时任务调度xxl-job,分布式事务seata,都分为…