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

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

一、问题提出

二、逻辑回归函数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. gorm使用小结

    增 db.Create(user) db.Save(user) 参数只能用**结构体指针****,因为要根据指针写入该条插入的数据, 所以user可以作为该条数据使用. 新增只能用结构体 save方法 ...

  2. es请求方式调用

    Es基础 关系: ElasticSearch-> mysql index (索引)-> 数据库 Documents(文档) -> row(行) Fileds(字段)-> col ...

  3. Lua热更学习--使用toLua中的协程

    [6] C#访问调table类中的成员变量和函数 访问table中的变量和函数 lua中可以使用table作为class,因此对table中的函数访问调用是必要的根据前面对table访问和functi ...

  4. Review社区PR的方式

    有时候review社区改动较大的PR时,在github上看不太方便,需要把相应的pr,apply到本地,记录下常用的方式 # 添加pr仓库 git remote add ${upstream_name ...

  5. AIRIOT大学计划暑期训练营圆满结束,产教融合培养物联网产业人才

    ​ 为促进物联网产业的纵深发展和创新,推进教育链.产业链与创新链的有机衔接,提高学生理论.实践和创新能力,7月3日-7月28日,由航天科技控股集团股份有限公司(简称"航天科技")开 ...

  6. vue.js的M-V-VM思想

    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式. Model 指代的就是vue对象的data属性里面的数据.这里的数据要显示到页面中. View 指代的就 ...

  7. 6.26考试总结(NOIP模拟10)[入阵曲·将军令·星空]

    对于虚伪而言,真实的光明或许过于耀眼了 前言 这一次吧,考得特别烂,主要是这次考试想搞一下特殊性质,然后一不小心就因小失大弄巧成拙了下,下次注意吧.. T1 入阵曲 暴力 思路 对于这个题的话,暴力的 ...

  8. ETL工具-nifi干货系列 第十二讲 nifi处理器UpdateRecord使用教程

    1.上一节课我们讲解了nifi处理器UpdateAttribute,专门用来更新flowFile的属性字段.本节课我们一起来学习UpdateRecord,该处理器用来更新flowFile的流文件内容数 ...

  9. linux系统,kafka常用命令

    kafka版本过高所致,2.2+=的版本,已经不需要依赖zookeeper来查看/创建topic,新版本使用 --bootstrap-server替换老版本的 --zookeeper-server. ...

  10. 在 Windows 10、Windows 11 中打开 IE 浏览器

    在 Windows 10.Windows 11 中打开 IE 浏览器 新建 OpenIE.vbs 文件,输入以下内容后保存: Set OpenIE = CreateObject("Inter ...