Matlab Classification Learner
Matlab Classification Learner 使用
介绍
在matlab中,既可以使用函数来对数据进行分类,也使用图形化界面的工具箱来进行分类操作。接下来讲讲如何使用。这里我主要介绍受监督的训练模型分类。
使用此工具箱, 我们可以使用各种分类器来探索受监督的机器学习。同时可以浏览数据、选择功能、指定验证方案、培训模型和评估结果。可以执行自动培训以搜索最佳分类模型类型, 包括决策树、判别分析、支持向量机、逻辑回归、最近邻居和集合分类等等。
什么是受监督的机器学习?
通过提供已知的一组输入数据 (观察或示例) 和已知的数据响应 (例如, 标签或类) 来执行受监督的机器学习。使用数据培训模型, 以生成对新数据的响应的预测。若要将模型与新数据一起使用, 或者要了解编程分类, 可以将模型导出到工作区或生成 MATLAB^?^用于重新创建经过培训的模型的代码。
点击开始自动分类器
我们可以使用Classification Learner对数据进行自动训练并且能选择不同的模型。
我们在APP选项卡中单击Classification Learner即可启动。
新建训练模型
单击New Session建立新模型,出现下图对话框:
Step1:选择数据
这里输入的数据必须要参数与标签合一的数据,比如我放入的数据是data,为套管缺陷数据。是一个$286*24$的矩阵,其$1\sim23$列为数据参数,第$24$列为标签,有缺陷为$1$,无缺陷则为$-1$。其中$1\sim200$行为无缺陷数据,所以对于的$24$列都为$-1$,$201\sim286$行为有缺陷数据,所以对于的$24$列都为$1$。
Step2:选择预测者与反应者
首先这里放入数据是,我选择了column模式,所以是以列作为读取数据顺序。$1\sim23$列都为数据参数,所以作为Predictor导入。$24$列作为标签,所以作为Response导入。
Step3:选择验证模式
这里选择交叉验证(Cross validation),目的是为了得到可靠稳定的模型。在建立PCR 或PLS 模型时,一个很重要的因素是取多少个主成分的问题。用cross validation 校验每个主成分下的PRESS值,选择PRESS值小的主成分数。或PRESS值不再变小时的主成分数。
也可以Holdout验证,随机从最初的样本中选出部分,形成交叉验证数据,而剩余的就当做训练数据。 一般来说,少于原本样本三分之一的数据被选做验证数据。Step4:点击开始
开始训练
新建模型完毕后,可以选择各种类型的分类器进行数据分类。
- Step1:选择PCA参数
我们可以对数据进行PCA降维,也可以调整PCA中的某些参数来调整训练模型。 - Step2:选择分类器类型
这里可以选择SVM分类器、KNN分类器、逻辑回归分类器等等。每种分类器中都可以选择不同的核函数,比如SVM分类器,可以选择Linear核、Quadratic核、cubic核、Gaussian核等。 - Step3:选择扩展设置
在这里我们可以分类器的参数做调节,典型的参数有:惩罚因子等级、核函数缩放因子、参数是否标准化等等。 - Step4:运行
接下来直接运行即可得出训练模型。
训练结果
我这里对所有的SVM模型都进行了运行,可以查看到如下界面。
1:分类模型状态
可以查看到当前有100%的准确率,这个准确率是之前使用交叉验证,模型对于自己的分类结果做的验证的准确率。
2:数据图表
这里可以对数据各个部分进行可视化分析。
3:图表选项
因为目前是24维数据,对于2维图形是无法全部绘制的,所以可以选择对任意两个维度作图。
4:导出模型
模型建立完毕后,可以选择导出模型,进行下一步的工作。
预测结果
我将导出的模型对新输入缺陷与非缺陷数据进行识别。代码如下:
%% 开始预测
yfit = trainedClassifier1.predictFcn(testdata);
n=sum(testlabel == yfit)/length(testlabel)*100;
disp('Linear SVM');
disp(n);yfit = trainedClassifier2.predictFcn(testdata);
n=sum(testlabel == yfit)/length(testlabel)*100;
disp('Quadratic SVM');
disp(n);yfit = trainedClassifier3.predictFcn(testdata);
n=sum(testlabel == yfit)/length(testlabel)*100;
disp('Cubic SVM');
disp(n);yfit = trainedClassifier4.predictFcn(testdata);
n=sum(testlabel == yfit)/length(testlabel)*100;
disp('Fine Gaussian SVM');
disp(n);yfit = trainedClassifier5.predictFcn(testdata);
n=sum(testlabel == yfit)/length(testlabel)*100;
disp('Medium Gaussian SVM');
disp(n);yfit = trainedClassifier6.predictFcn(testdata);
n=sum(testlabel == yfit)/length(testlabel)*100;
disp('Coarse Gaussian SVM');
disp(n);
结果如下:
Linear SVM84.2105Quadratic SVM84.2105Cubic SVM84.2105Fine Gaussian SVM86.4662Medium Gaussian SVM84.9624Coarse Gaussian SVM84.2105
转载于:https://www.cnblogs.com/ZQQH/p/9046618.html
Matlab Classification Learner相关推荐
- matlab 分类学习工具箱 Classification Learner
转载:https://blog.csdn.net/qq_27914913/article/details/71436838 在matlab中,既有各种分类器的训练函数,比如"fitcsvm& ...
- matlab 分类学习工具箱 Classification Learner的使用及导出其生成的图,混淆矩阵confusion matrix的画法
声明:转自https://blog.csdn.net/qq_27914913/article/details/71436838 https://blog.csdn.net/evil_xue/artic ...
- matlab“机器学习和深度学习”系列工具箱作用总结
这是MATLAB r2019a的"机器学习和深度学习"工具箱 1,Classification Learner工具箱 打开之后的界面,主要用于分类 具体用法见: MATLAB自带分 ...
- Deep Learning for Computer Vision with MATLAB and cuDNN
转载自:Deep Learning for Computer Vision with MATLAB and cuDNN | Parallel Forall http://devblogs.nvidia ...
- MATLAB实现支持向量机SVM分类简介
1. 支持向量机SVM 支持向量机(SVM, support vector machine)是名噪一时的机器学习方法,自20世纪末以来在模式识别领域风生水起,至今仍然活跃在各大论文期刊中.无论是和其他 ...
- Matlab自带的分类学习工具箱(SVM、决策树、Knn等分类器)
在matlab中,既有各种分类器的训练函数,比如"fitcsvm",也有图形界面的分类学习工具箱,里面包含SVM.决策树.Knn等各类分类器,使用非常方便.接下来讲讲如何使用. 启 ...
- 【3】简单粗暴MATLAB中文文本分类
最近探索了用MATLAB进行文本分类,没有涉及高级和复杂的算法公式,仅发出来和大家分享下. 数据集 数据是关于新闻分类的,总共包括财经.房产.家居.教育.科技.时尚.时政.体育.游戏.娱乐10种类型的 ...
- 基于matlab数据线性拟合回归
1 选题背景及意义 在统计学中,线性回归是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析.这种函数是一个或多个称为回归系数的模型参数的线性组合.只有一个自变 ...
- matlab app设计步骤_如何从MATLAB/Simulink入手,系统地学习自动驾驶?
自动驾驶相关的软件工具有不少,作为汽车工程师,我们最熟悉的可能是MATLAB/Simulink.如何从MATLAB/Simulink入手,系统地学习自动驾驶? 本文来源:自动驾驶仿真 自动驾驶相关的软 ...
- 基于Matlab进行机器学习
MATLAB机器学习工具箱 MATLAB包含统计和机器学习工具箱(Statistics and Machine Learning Toolbox),其包含如下一些子模块:探索性数据分析.数据降维.机器 ...
最新文章
- 固态器件理论(8)绝缘栅场效应晶体管(MOSFET)
- Spring Boot与MyBatis整合
- KubeSphere 3.1.0 GA:混合多云走向边缘,让应用无处不在
- 盲人编程_盲人如何编码
- hadoop为什么出现
- vue动态设置文字布局方式_十大惊人的文字动画特效
- Android 8.0 学习(12)---init.rc语法及解析过程总结
- c#语言经典程序100例,C#入门必看的实例程序100个 - 源码下载|Windows编程|其他小程序|源代码 - 源码中国...
- 使用yum update更新文件系统时不更新内核的方法
- c语言判断奇偶素数,用C语言如何判断素数
- 化工行业借力APS生产排程
- 00-软件研制任务书
- 问题 E: LZY去年买了个表
- 学生成绩管理系统(合并文件,查找,总分排序,保存补考学生信息)
- Hook DirectInput-CreateDevice-GetDeviceData解决方案
- 微博营销,究竟该怎么做?(实战系列一:粉丝篇)
- java学习个人总结_Java学习的总结
- PMBOK(第六版) 学习笔记 ——《第一章 引论》
- SpringBoot:三十五道SpringBoot面试题及答案!
- c盘越来越大怎么清理?清理C:\Windows\System32\DriverStore\FileRepository
热门文章
- html投票器,自动投票器,自己制作教程!
- 我的职业性格测评报告
- 浅析RTB和RTA(一)
- 如何成为一名自豪的游戏程序员
- 2021 年 15 款适用于 PC 和 Mac 的最佳 Android 模拟器
- AVC编码中的规格 :High、Baseline、Main什么意思?还有High@L3.0、High@L4.0、High@L5.1等
- 图的存储结构之边集数组
- DPDK-实战之load_balancer(负载均衡)
- 聚焦Java性能优化 打造亿级流量秒杀系统【学习笔记】03_分布式扩展
- 华为云服务器系统备份,云服务器备份系统