前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数学建模暑期集训24:机器学习与Classification Learner工具箱实操

数学建模暑期集训24:机器学习与Classification Learner工具箱实操

作者头像
zstar
发布2022-06-14 11:53:04
1K0
发布2022-06-14 11:53:04
举报
文章被收录于专栏:往期博文往期博文

机器学习是比较宽泛的概念,从国赛历年优秀论文来看,机器学习越来越成为优秀论文不可或缺的因素之一。因此,从本篇开始将进入到机器学习的简单应用。此篇博文将简单记录机器学习的一些基础概念、评判标准和matlab工具箱的使用。由于笔者有一定机器学习基础,因此仅记录比较重要的一些概念,小白阅读可能产生一定难度,更多基础概念可以拉到底部参考资料观看视频了解。

回归问题的评估指标

回归问题是监督学习的内容之一。 评判回归模型的好坏有以下几个指标:

在这里插入图片描述
在这里插入图片描述

其中,均方根误差RMSE用得最多,可以优先选择使用。

分类问题的评估指标

分类问题是监督学习的另一部分的内容。

首先要理解正类的概念: “在机器学习中,我们通常将更关注的事件定义为正类事件。(生活中我们通常会更关注那些结果不好的情况的出现) ”——周志华《机器学习》 正类,比如医学中,肿瘤阳性就是正类。

分类之后,可以得到混淆矩阵

在这里插入图片描述
在这里插入图片描述

评判分类模型的好坏有以下几个指标:

  • 分类准确率(Accuracy)
在这里插入图片描述
在这里插入图片描述
  • 查全率或召回率(Recall,记为 R)
在这里插入图片描述
在这里插入图片描述
  • 查准率或精确率(Precision,记为 P)
在这里插入图片描述
在这里插入图片描述

用查坏人的例子可以通俗理解查全率R和查准率P: 查全率 R: 宁可错杀一千个好人,不可漏过一个坏人。(全部识别成坏人时查全率为 1) 查准率 P: 宁可漏过坏人,不可错杀无辜的好人。(让 FP 尽量小一点,没有充足的证据不会轻易判断一个人是坏人)

  • F1分数(F1 Score) F1 分数是查全率和查准率的调和平均数。
在这里插入图片描述
在这里插入图片描述

化简得到:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  • ROC 曲线和 AUC
在这里插入图片描述
在这里插入图片描述

将不同的模型的 ROC 曲线绘制在同一张图内,最靠近左上角的那条曲线代表的模型的分类效果最好。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

留出法

将样本分成训练集和测试集,通过测试集来反应模型的泛化能力,该方法被称作留出法。 缺陷:训练的样本数量减少。

k 折交叉验证

为了弥补留出法的缺陷,提出k 折交叉验证法。 我们先将数据集 D 随机的划分为 k 个大小相似的互斥子集。每一次用 k-1 个子集的并集作为训练集,剩下的一个子集作为测试集;这样就可以获得 k 组训练/测试集,从而可进行 k 次训练和测试,最终返回的是这 k 次测试的平均结果,通常 k 取 10,此时称为 10 折交叉验证。

在这里插入图片描述
在这里插入图片描述

图片很容易理解,相当于10份样本轮流做测试集,最后返回的是平均结果。 注意!!该方法仅用来进行筛选模型的好坏,筛选出来的模型不能直接用,要将所有样本全部导入训练再用,否则,浪费了1/k(一份)的样本。

过拟合的原因和解决方法

原因: 1.模型中参数设置的过多导致模型过于复杂 2.训练集的样本量不够 3.输入了某些完全错误的的特征(例如:用人的身高来判别西瓜的好坏)

解决方法: 1.通过前面介绍的交叉验证的方法来选择合适的模型,并对参数进行调节 2.扩大样本数量、训练更多的数据 3.对模型中的参数增加正则化(即增加惩罚项,参数越多惩罚越大)

欠拟合的解决方法

1.增加模型的参数 2.从数据中挖掘更多的特征来增加输入的变量 3.选择更加复杂的模型 4.使用一些集成算法(如装袋法(Bagging),提升法(Boosting))

Classification Learner工具箱实操

Classification Learner工具箱简介

Classification Learner是matlab自带的一个工具箱,里面内置了多种机器学习模型可供调用,无需编程,一键搞定。

导入数据

下面以著名的多分类鸢尾花数据集为例。

在matlab中选择导入数据

在这里插入图片描述
在这里插入图片描述

144组训练集作为d1:

在这里插入图片描述
在这里插入图片描述

6组测试集作为d2:

在这里插入图片描述
在这里插入图片描述

工具箱设置

选择Classification Learner工具箱:

在这里插入图片描述
在这里插入图片描述

新建会话

在这里插入图片描述
在这里插入图片描述

选择交叉验证方法,K设置为10折。

选择全部模型,开始训练:

在这里插入图片描述
在这里插入图片描述

训练结果演示

训练好之后,matlab会自动将准确度最高的模型标注出来:

在这里插入图片描述
在这里插入图片描述

此外,还有ROC曲线之类的图像可供选择,可以放到论文里。

在这里插入图片描述
在这里插入图片描述

导出模型

选择效果最好的模型,勾选导出

在这里插入图片描述
在这里插入图片描述

模型预测

有了模型之后,可以将d2测试集导进去进行预测。

代码语言:javascript
复制
 yfit = trainedModel.predictFcn(d2) 

trainedModel是导出模型的默认名字。 运行完之后,预测结果会在命令行进行打印。

注:matlab导出模型后,会自动运用所有的数据(full model),因此不用担心是否因交叉验证而丢失一组数据。

论文应用

在2020国赛C题中,有一篇论文使用了该工具箱,并将结果非常清晰地展现了出来。 排版简洁工整,值得学习:

在这里插入图片描述
在这里插入图片描述

完整的论文我上传到了我的资源内2020国赛C题优秀论文

参考资料

本博文视频和内容主要参考自数学建模清风第四次直播:利用matlab快速实现机器学习

本文参与?腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 回归问题的评估指标
  • 分类问题的评估指标
  • 留出法
  • k 折交叉验证
  • 过拟合的原因和解决方法
  • 欠拟合的解决方法
  • Classification Learner工具箱实操
    • Classification Learner工具箱简介
      • 导入数据
        • 工具箱设置
          • 训练结果演示
            • 导出模型
              • 模型预测
                • 论文应用
                • 参考资料
                相关产品与服务
                云直播
                云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                http://www.vxiaotou.com