Matlab机器学习和深度学习APP之Regression Learner

Matlab机器学习App之Regression Learner回归分析与模型导出应用


原创作品,转载请注明出处,谢谢~

目录

软件与数据准备

  1. 我之前用的是matlabR2016b,里面没有regression learner这个App,现在使用的是Matlab R2019b,如果你的matlab没有的话可以看看是不是版本问题
  2. 准备需要进行回归分析的数据,我这里是采用的工作空间中的数据
    在这里插入图片描述
    这是我的训练数据,放在工作空间名为gauss_pitch的矩阵中,第一列是变量X1,第二列为变量X2,第三列为因变量Y,一共81行,即81个样本

Regression Learner具体使用

  1. 打开App新建会话
    在这里插入图片描述
    在这里我们可以选择自己的样本数据,即gauss_pitch这个矩阵,并使用列作为变量,第三列因变量作为我们的响应,前两列作为预测变量,右侧的验证可以根据需求选择交叉验证折数,或者选择留出法验证(一部分作为训练,另一部分用作验证)
    我这里全部采用的如图所示的默认
    在这里插入图片描述
    然后就可以开始我们的会话啦!
  2. 选择自己合适的模型,开始训练!
    在这里插入图片描述
    这里我们可以选择不同的模型对我们的数据进行训练
    我这里选择了高斯过程回归的平方指数模型进行训练!
    在这里插入图片描述
    这里可以非常直观的看到我们训练的记录以及训练的误差,时间等信息
  3. 训练结果分析
    我们可以选择响应图,预测实际图等看模型训练的效果并分析
    在这里插入图片描述
    在这里插入图片描述
    比如这里的响应图,可以根据需要勾选是否显示误差等,X轴的坐标信息也可以更改
  4. 导出训练模型并进一步处理
    这里我遇到一个小问题,因为我的训练数据是三维的,有两个自变量和一个响应,所以我想要画出样本数据的散点图的同时,利用高斯回归模型画出拟合的三维曲面,这就利用到app导出模型的功能。
    在这里插入图片描述
    可以选择是否导出训练数据,这里我选择第一项直接导出模型。
    导出的模型在工作空间被命名为trainedModel,我们可以直接利用该模型,也可以另存为.mat文件方便下次使用该模型(load导入工作空间)
    我这里只用到了trainedModel的predictFcn函数,这里附上写的一段代码
X1 = -100:0.1:100;
X2 = 0:0.001:1.5;
[X1FIT,X2FIT] = meshgrid(X1,X2);
[m, n] = size(X1FIT);

figure(3);
scatter3(gauss_pitch(:,1),gauss_pitch(:,2),gauss_pitch(:,3),15,'b','filled');
hold on;
Y = zeros(m,n);
for num = 1:n
    X = [X1FIT(:,num), X2FIT(:,num)];
    Y(:,num) = trainedModel.predictFcn(X);
end
mesh(X1FIT, X2FIT, Y);

X1和X2是划分的我感兴趣的范围,希望通过高斯模型绘制曲面的范围,meshgrid的作用就是把X1和X2转变为一个m*n维的矩阵,因此通过for循环,利用模型给预测响应值Y赋值,scatter3绘制出样本数据的散点图;
predictFcn可以根据待预测数据的输入,预测响应,这里我们的输入是X1和X2的范围;
最后,mesh,模型预测的曲面就绘制出来了!
在这里插入图片描述

最后

文章中存在的问题欢迎交流指正,如果有更好的使用方法或者使用心得也希望大佬们提出,希望这个笔记也能对大家有所帮助,peace & love~

  • 13
    点赞
  • 105
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小辛学长

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

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

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

打赏作者

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

抵扣说明:

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

余额充值