【MATLAB】使用Classification Learner工具箱训练和预测数据

近日对matlab内置的classification Learner 工具箱有所接触,现在整理一下关于使用该工具箱训练模型和预测数据的相关操作。

一、原始数据

【MATLAB】使用Classification Learner工具箱训练和预测数据_第1张图片

    其中列向量为样本,行向量内为每个样本的6个特征,最后一列为样本的响应变量(即为样本的实际类别)。

二、导入数据

    1. 首先我们在MATLAB自带的APP栏中打开Classification Learner:

       点开之后其交互界面如下:

【MATLAB】使用Classification Learner工具箱训练和预测数据_第2张图片

       Matlab自带的Classification Learner工具箱具备多种可供用户使用的分类算法,如决策树、支持向量机、K-最近邻域等等。此外,此工具箱还具备数据的特征选择、方案验证、训练模型、检验训练结果等功能,有着良好的人机交互性。

【MATLAB】使用Classification Learner工具箱训练和预测数据_第3张图片

    4. 点击右上角新建一个session,然后将我们的数据导入其中

【MATLAB】使用Classification Learner工具箱训练和预测数据_第4张图片

 

      先在最左侧Step1中选择需要分析的数据,我的数据全放在了名为data的矩阵中,故直接选择即可。然后按照矩阵中数据的结构,列向量代表不同的样本,行向量内为每个样本的各种特征,故选择 Use columns as variables。

      在Step2中,我们可以看到我们我们数据的所有列向量,前六列代表六种特征,最后一列代表样本的类别。在此处,我们将代表特征的列向量设置为Predictor,将代表类别的列向量设置为Response即可。

      在Step3中,我们可以进行验证的相关设置,第一个选项为交叉验证,并可以用下方的滚动条设置交叉验证的折数;第二个选项为Holdout Validation,即对验证组为对半选择;最后一个选项为不进行验证。

     在本次实验中,如图所示,我们设置了10折的交叉验证。设置完毕,点击右下角的Start Session即可进入训练环节。

三、训练模型

     训练界面如下所示:

【MATLAB】使用Classification Learner工具箱训练和预测数据_第5张图片

     我们接下来对上方功能栏进行简单的介绍:

    Feature Selection:顾名思义,可以对训练的特征进行选择

【MATLAB】使用Classification Learner工具箱训练和预测数据_第6张图片

     Classifier:我们可以在此栏中选择进行分类学习的算法

【MATLAB】使用Classification Learner工具箱训练和预测数据_第7张图片

     Training: 点击这个三角形,就开始训练模型

      Plots: 在这栏中,我们可以点击查看训练模型的散点图、混淆矩阵和ROC曲线

     介绍完毕,我们在选择完特征和算法之后即可点击开始训练,训练时间的长短和选取模型的个数和模型的复杂程度相关。

     在本实验中,我选择了全部的特征和全部的分类算法进行训练,结果如下:

【MATLAB】使用Classification Learner工具箱训练和预测数据_第8张图片

     在左侧栏中我们可以很直观到看到各种分类算法对应的分类正确率,我们可以看到利用Quadratic SVM和Fine Gaussian SVM算法训练得到的模型有着最高的准确率,达98%。

    以Quadratic SVM为例,在左栏中选中该算法,然后在上方功能栏PLOTS分区中点击三个模块可以分别查看该模型的散点图、混淆矩阵和ROC曲线,结果如下:

【MATLAB】使用Classification Learner工具箱训练和预测数据_第9张图片

【MATLAB】使用Classification Learner工具箱训练和预测数据_第10张图片

【MATLAB】使用Classification Learner工具箱训练和预测数据_第11张图片

 

四、导出模型

     在完成模型训练之后,我们可以挑选合适的单个模型进行导出,我们也可以导出完整的模型,供后续研究学习使用。

【MATLAB】使用Classification Learner工具箱训练和预测数据_第12张图片

 

你可能感兴趣的:(MATLAB)