数学建模day14-分类模型

本讲将介绍分类模型。对于二分类模型,我们将介绍逻辑回归(logistic regression)和Fisher线性判别分析两种分类算法;对于多分类模型,我们将简单介绍Spss中的多分类线性判别分析和多分类逻辑回归的操作步骤。

注:本文源于数学建模学习交流相关公众号观看学习视频后所作

目录

例子引入

数据预处理:生成虚拟变量

逻辑回归logistic regression

线性概率模型

两点分布(伯努利分布)

连接函数的取法

函数图像对比

怎么求解

怎么用于分类

写入论文

Spss求解逻辑回归

预测成功率

逻辑回归系数表

表格中新添的两列解读

逐步回归的设置

假如自变量有分类变量怎么办

预测结果较差怎么办

加入平方项后的结果

过拟合现象

如何确定合适的模型

Fisher线性判别分析

核心问题:找到线性系数向量 ω

笔记

Spss操作

结果分析

多分类问题

Fisher判别分析可用于多分类

Fisher判别分析多分类的结果

Logistic回归也可用于多分类

Spss操作

结果说明

课后作业

​编辑

参考答案

结束


例子引入

根据水果的属性,判断该水果的种类。
mass:     水果重量
width:     水果的宽度
height:    水果的高度
color_score: 水果的颜色数值,范围0-1
fruit_name:水果类别

数据预处理:生成虚拟变量


逻辑回归logistic regression

        对于因变量为分类变量的情况,我们可以使用逻辑回归进行处理。把y看成事件发生的概率,y ≥ 0.5表示发生;y < 0.5表示不发生

线性概率模型

线性概率模型(Linear Probability Model,简记LPM)

直接用原来的回归模型进行回归。

两点分布(伯努利分布)

连接函数的取法

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

函数图像对比

怎么求解

可以使用数值方法(梯度下降)求解这个非线性最大化的问题

极大似然估计:大家可以参考概率论与数理统计的教材学习

怎么用于分类

写入论文

通过极大似然估计可以估计出 β^,得到y^,然后通过y^进行预测

Spss求解逻辑回归

预测成功率

19个苹果样本中,预测出来为苹果的有14个,预测出来的正确率为73.7%;
19个橙子样本中,预测出来为橙子的有15个,预测出来的正确率为78.9%;
对于整个样本,逻辑回归的预测成功率为76.3%.

逻辑回归系数表

注意:

 

表格中新添的两列解读

逐步回归的设置

向前(向后)逐步回归可选择的统计量有所区别。
进入(或者除去)自变量的显著性水平可以自己调节。

假如自变量有分类变量怎么办

两种方法
(1)先创建虚拟变量,然后删除任意一列以排除完全多重共线性的影响;
(2)直接点击分类,然后定义分类协变量,Spss会自动帮我们生成。
        (如果没有生成虚拟变量这个选项,则说明SPSS没有安装到默认位置)

预测结果较差怎么办

可在logistic回归模型中加入平方项、交互项

加入平方项后的结果

过拟合现象

如何确定合适的模型

        把数据分为训练组和测试组,用训练组的数据来估计出模型,再用测试组的数据来进行测试。(训练组和测试组的比例一般设置为80%和20%)
        已知分类结果的水果ID为1-38,前19个为苹果,后19个为橙子。每类水果中随机抽出3个ID作为测试组,剩下的16个ID作为训练组。


(比如:17-19、36-38这六个样本作为测试组)
比较设置不同的自变量后的模型对于测试组的预测效果。

(注意:为了消除偶然性的影响,可以对上述步骤多重复几次,最终对每个模型求一个平均的准确率,这个步骤称为 交叉验证。)


Fisher线性判别分析

        LDA(Linear Discriminant Analysis)是一种经典的线性判别方法,又称Fisher判别分析。该方法思想比较简单:给定训练集样例,设法将样例投影到一维的直线上,使得同类样例的投影点尽可能接近和密集,异类投影点尽可能远离。

上述图片来自图片中链接的博客

详细证明和求解步骤:https://www.bilibili.com/video/av33101528/?p=3

核心问题:找到线性系数向量 ω

笔记

Spss操作

结果分析

放入论文中的话,只需要将w的那个表, 和最后预测的数据放入即可

多分类问题

现在水果的类别一共有四种,其四个指标的平均值如下表所示:

问题:对ID为60-67的八个水果进行归类。

Fisher判别分析可用于多分类

线性判别分析(LDA)和python实现(多分类问题)_闭式解sw-1sb-CSDN博客

注意:这里SPSS不能自动帮我们生成虚拟变量,我们可以在EXCEL表中使用“替换”功能来快速生成虚拟变量。

Fisher判别分析多分类的结果


Logistic回归也可用于多分类

将连接函数:Sigmoid函数推广为Softmax函数

https://www.cnblogs.com/bonelee/p/8127411.html

多分类逻辑回归(Multinomial Logistic Regression)_多分类logistic回归模型-CSDN博客

上图来自图中链接所示博客

Spss操作

注意,这里要将几个自变量放到协变量中,放到上面的因子中是不正确的,但后续的分析思路完全相同。
补充:Spss中因子和协变量的区别:

因子 指分类型变量,例如性别、学历等

协变量 指连续型变量,例如面积、重量等

结果说明

        返回到我们的数据列表,可以看出Spss给我们输出了属于每一类的概率,并将概率最大的那个类别作为我们的预测结果。

课后作业

参考答案

替换后的数据,接下来就可以导入Excel了

        另外,如果导入excel数据文件比较卡的话,可以先将数据另存为csv文件,然后再使用SPSS的导入csv数据的功能。

导入进来的数据

        这6个未知类别的预测结果也出来了,分别是1 3 1 2 3 1,而在最开始替换时,1对应山鸢尾,2对应变色鸢尾,3对应维吉尼亚鸢尾。
        另外大家也可以使用Fisher判别分析进行多分类,这里就不再赘述了。

结束

┏(^0^)┛拜拜~~~

  • 19
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WenJGo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值