前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >广义线性模型glm泊松回归的lasso、弹性网络分类预测学生考试成绩数据和交叉验证

广义线性模型glm泊松回归的lasso、弹性网络分类预测学生考试成绩数据和交叉验证

作者头像
拓端
发布于 2021-12-21 13:17:05
发布于 2021-12-21 13:17:05
1.1K00
代码可运行
举报
文章被收录于专栏:拓端tecdat拓端tecdat
运行总次数:0
代码可运行

原文链接:http://tecdat.cn/?p=24777

本文使用冗余预测变量构建数据集并使用lasso和glm识别这些预测变量 。

使用lasso正则化去除冗余预测变量

创建一个X 包含 100 个观测值和 10 个预测变量的随机矩阵 。y 仅使用四个预测变量和少量噪声创建正态分布因变量 。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
默认值
randn ;

X*权重 + randn*0.1; % 小的附加噪音

执行lasso正则化。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lasso

求第 75 个Lambda 值 的系数向量 B

lassoglm 识别并删除冗余预测变量。

广义线性模型的交叉验证lasso正则化

从泊松模型构建数据,并使用 lasso确定重要的预测变量 。

创建具有 20 个预测变量的数据。仅使用三个预测变量加上一个常数来创建泊松因变量。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rng  % 用于重现性
 randn

exp(X)*weights + 1

构建数据的泊松回归模型的交叉验证lasso正则化。

检查交叉验证图以查看Lambda 正则化参数的效果 。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Plot('CV'); 
legend

绿色圆圈和虚线定位 Lambda 交叉验证误差最小的位置。蓝色圆圈和虚线定位具有最小交叉验证误差加一个标准偏差的点。

找到对应于两个识别点的非零模型系数。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
FitInf
find(B
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
FitInf
min1fnd(B)

来自最小加一标准误差点的系数正是用于创建数据的那些系数。

使用lasso正则化预测值

加载 考试成绩数据集。将上次考试成绩转换为逻辑向量,其中 1 代表80以上的成绩,0 代表80以下的成绩。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ynm = (y>=80);

将数据划分为训练集和测试集。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rng default % 设置可重复性的种子
Xi = X(iTain,:);
yran = yBinom
yTe = yBinom

对训练数据进行 3 折交叉验证,对广义线性模型回归执行lasso正则化。假设 中的值 y 是二项分布的。选择对应于Lambda 最小预期偏差的模型系数 。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lasso(Trn,Tain,'binomial','CV',3);
ince = FitIiance;
FitIept

使用在上一步中找到的模型系数预测测试数据的考试成绩。使用 指定二项式因变量的链接函数 'logit'。将预测值转换为逻辑向量。

使用混淆矩阵确定预测的准确性。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
confuhart

该函数可以正确预测 31 个考试成绩。然而,该函数错误地预测了1名学生获得B或以上的成绩,4名学生获得B以下的成绩。

本文摘选《Matlab广义线性模型glm泊松回归的lasso、弹性网络正则化分类预测考试成绩数据和交叉验证可视化》
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 拓端数据部落 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验