本讲将介绍分类模型。对于二分类模型,我们将介绍逻辑回归(logistic regression)和Fisher线性判别分析两种分类算法;对于多分类模型,我们将简单介绍Spss中的多分类线性判别分析和多分类逻辑回归的操作步骤
文章目录
水果分类的例子
mass: 水果重量
width: 水果的宽度
height: 水果的高度
color_score: 水果的颜色数值,范围0‐1
fruit_name:水果类别
前19个样本是苹果
后19个样本是橙子
用这38个样本预测后四个样本对应的水果种类
数据预处理:生成虚拟变量
工具:SPSS
逻辑回归logistic regression
对于因变量为分类变量的情况,我们可以使用逻辑回归进行处理。把y看成事件发生的概率,y>0.5表示发生;y<0.5表示不发生
线性概率模型
两点分布(伯努利分布)
连接函数的取法
函数图像对比
怎么求解?
怎么用于分类?
Spss求解逻辑回归
预测成功率
逻辑回归系数表
表格中新添的两列解读
逐步回归的设置
假如自变量有分类变量怎么办?
两种方法
(1)先创建虚拟变量,然后删除任意一列以排除完全多重共线性的影响;
(2)直接点击分类,然后定义分类协变量,Spss会自动帮我们生成。
(如果没有生成虚拟变量这个选项,则说明SPSS没有安装到默认位置)
预测结果较差怎么办?
可在logistic回归模型中加入平方项、交互项等。
加入了平方项后的结果
过拟合现象
如何确定合适的模型
Fisher线性判别分析
LDA(Linear Discriminant Analysis)是一种经典的线性判别方法,又称Fisher判别分析。该方法思想比较简单:给定训练集样例,设法将样例投影到一维的直线上,使得同类样例的投影点尽可能接近和密集,异类投影点尽可能远离。
核心问题:找到线性系数向量
Spss操作
结果分析
多分类问题
Fisher判别分析可用于多分类
Logistic回归也可用于多分类
Spss操作
注意,这里要将几个自变量放到协变量中,视频里面的操作放到了上面的因子中是不正确的,但后续的分析思路完全相同。
补充:Spss中因子和协变量的区别
因子指分类型变量,例如性别、学历等
协变量指连续型变量,例如面积、重量等。
结果说明
返回到我们的数据列表,可以看出Spss给我们输出了属于每一类的概率,并将概率最大的那个类别作为我们的预测结果。
课后作业
代码
% 匿名函数的讲解在拟合那一讲讲过
f1=@(x) normcdf(x); % 标准正态分布的累积分布函数
fplot(f1, [-4,4]); % 在-4到4上画出函数f1的图形
hold on; % 不关闭作图窗口
grid on; % 显示网格线
f2=@(x) exp(x)/(1+exp(x)); % Sigmoid函数
fplot(f2, [-4,4]); % 在-4到4上画出函数f2的图形
legend('标准正态分布的cdf','sigmoid函数','location','SouthEast')
% % 注意:代码文件仅供参考,一定不要直接用于自己的数模论文中
% % 国赛对于论文的查重要求非常严格,代码雷同也算作抄袭