分类问题就是给出物质的属性,判断其属于什么成分,本文将讲述逻辑回归求解二分类问题

本文着重于模型的实现,对于推导只是概括性的叙述

一、问题提出

二、逻辑回归函数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.如何确定合适的模型?————训练与测试

逻辑回归求解二分类问题以及SPSS的实现的更多相关文章

  1. Spark 多项式逻辑回归__二分类

    package Spark_MLlib import org.apache.spark.ml.Pipeline import org.apache.spark.ml.classification.{L ...

  2. Spark 二项逻辑回归__二分类

    package Spark_MLlib import org.apache.spark.ml.Pipeline import org.apache.spark.ml.classification.{B ...

  3. scikit-learn机器学习(二)逻辑回归进行二分类(垃圾邮件分类),二分类性能指标,画ROC曲线,计算acc,recall,presicion,f1

    数据来自UCI机器学习仓库中的垃圾信息数据集 数据可从http://archive.ics.uci.edu/ml/datasets/sms+spam+collection下载 转成csv载入数据 im ...

  4. 机器学习---逻辑回归(二)(Machine Learning Logistic Regression II)

    在<机器学习---逻辑回归(一)(Machine Learning Logistic Regression I)>一文中,我们讨论了如何用逻辑回归解决二分类问题以及逻辑回归算法的本质.现在 ...

  5. stanford coursera 机器学习编程作业 exercise 3(逻辑回归实现多分类问题)

    本作业使用逻辑回归(logistic regression)和神经网络(neural networks)识别手写的阿拉伯数字(0-9) 关于逻辑回归的一个编程练习,可参考:http://www.cnb ...

  6. Logistic Regression(逻辑回归)(二)—深入理解

    (整理自AndrewNG的课件,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 上一篇讲解了Logistic Regression的基础知识,感觉 ...

  7. Spark 多项式逻辑回归__多分类

    package Spark_MLlib import org.apache.spark.ml.Pipeline import org.apache.spark.ml.classification.{B ...

  8. [Python]数据挖掘(1)、梯度下降求解逻辑回归——考核成绩分类

    ps:本博客内容根据唐宇迪的的机器学习经典算法  学习视频复制总结而来 http://www.abcplus.com.cn/course/83/tasks 逻辑回归 问题描述:我们将建立一个逻辑回归模 ...

  9. [Machine Learning] 逻辑回归 (Logistic Regression) -分类问题-逻辑回归-正则化

    在之前的问题讨论中,研究的都是连续值,即y的输出是一个连续的值.但是在分类问题中,要预测的值是离散的值,就是预测的结果是否属于某一个类.例如:判断一封电子邮件是否是垃圾邮件:判断一次金融交易是否是欺诈 ...

  10. 逻辑回归,多分类推广算法softmax回归中

    转自http://ufldl.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92 简介 在本节中,我们介绍Softmax回归模型,该模型是log ...

随机推荐

  1. ElasticSearch使用经验总结

    ElasticSearch总结 1.ElasticSearch的查询原理 Elasticsearch底层使用的Lucene的倒排索引技术来实现比关系型数据库更快的过滤的.所以要想了解Es的擦查询原理, ...

  2. uniapp获取用户信息

    新接口getUserProfileFn内置login,如果必须要login返回的参数要隔离开 vue3书写要对按钮配置属性 <button @click="logintou" ...

  3. 【问题解决】java.lang.NoSuchMethodError错误

    问题现象 近期本人负责的一个SpringBoot模块出现了java.lang.NoSuchMethodError报错,问题情况如下: A类提供了setJumpType(String type),B类调 ...

  4. pageoffice6 版本在线打开word 文件,实现多用户同时编辑

    总体来说,各种Web系统中的Word文档在线处理大体可以分为以下四种流转处理方式: A用户编辑完,流转给B用户修改,再流转给C用户修改,直到最后.每个用户都是针对全文修改的,如果需要在这一篇文档中能区 ...

  5. 【超强SQL】WordPress批量修改指定分类下所有文章状态

    前阵子主题君的某一个手游下载站的某一个分类,被百度K了,导致整个分类的文章收录都没了,这时候如果想要回复权重,就需要把这个分类的文章都删除了. 下面主题君给大家分享一段巨牛逼的SQL, WordPre ...

  6. Smart - Luogu —— 智能的洛谷

    @ 目录 安装 Stylus 谷歌 Edge 安装 Smart - Luogu 使用 尾声 安装 Stylus link 点击推荐下载,获取 crx 文件 谷歌 先点击右上角三个点,再点击扩展程序,然 ...

  7. 到今天了你还不会集合的Stream操作吗?你要out了

    Java8的两个重大改变,一个是Lambda表达式,另一个就是本节要讲的Stream API表达式.Stream 是Java8中处理集合的关键抽象概念,它可以对集合进行非常复杂的查找.过滤.筛选等操作 ...

  8. jQuery——动画加载页面

    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script&g ...

  9. WPF+Emgucv实现在图像上画出感兴趣的区域 并进行掩膜获取 得到图像均值 和简单的 漫水填充

    <Grid.RowDefinitions></Grid.RowDefinitions> <Grid> <UniformGrid Columns="2 ...

  10. 001. git基础

    目录 1. 持续集成教程 1.1 持续集成的基础概念 1.2 持续集成的一般流程 1.3 认识DevOps 1.3.1 DevOps是啥? 1.3.2 为什么需要DevOps呢? 1.3.3 DevO ...