主要内容

使用ClassificationSVM预测块预测类标签

此示例显示了如何使用ClassificationSVM预测在Simulink®中用于标签预测的块。金宝app该块接受一个观察(预测数据),并使用训练过的支持向量机(SVM)分类模型返回预测的类别标签和类别得分。金宝app

训练分类模型

本示例使用电离层数据集,其中包含雷达返回质量(Y)和预测数据(X)的34个变量。雷达回波要么质量好(‘g’)或不良品质(“b”).

加载电离层数据集。确定样本大小。

负载电离层n =元素个数(Y)
n = 351.

假设按顺序探测到雷达返回,您已经有了前300个观测值,但还没有收到最后51个。将数据划分为当前和未来的样本。

prsntx = x(1:300,:);prsnty = y(1:300);ftrx = x(301:结束,:);ftry = y(301:结束);

使用所有当前可用的数据训练支持向量机模型。指定预测器数据标准化。

svmMdl = fitcsvm (prsntX prsntY,'标准化',真正的);

svmMdl是一个分类VM.模型。

方法检查负类名和正类名一会的属性svmMdl

svmMdl。一会
ans =2 x1细胞{b} {' g '}

负面课程是“b”,积极的课程是‘g’.的输出值分数分类VM的端口预测块具有相同的顺序。第一和第二元素分别对应于负类和正类分数。

创建Simul金宝appink模型

这个例子提供了Simulink模型金宝appslexIonosphereClassificationSVMPredictExample.slx,其中包括ClassificationSVM预测堵塞。您可以打开Simulink模型或创金宝app建新模型,如本节所述。

打开Simulin金宝appk模型slexIonosphereClassificationSVMPredictExample.slx

SimMdlName =“slexIonosphereClassificationSVMPredictExample”;Open_System(SIMMDLNAME)

PreLoadFcn回调函数slexIonosphereClassificationSVMPredictExample包括加载样本数据、训练SVM模型和为Simulink模型创建输入信号的代码。金宝app如果打开Simulink模型,软金宝app件就会运行代码PreLoadFcn加载Simulink模型之前。金宝app要查看回调函数,请在设置上节建模选项卡上,单击模型设置并选择模型属性.然后,在回调选项卡中,选择PreLoadFcn回调函数在模型回调窗格。

要创建新的Simulink模型,金宝app请打开空白模型模板,并添加ClassificationSVM Predict块。添加import和Outport块,并将它们连接到ClassificationSVM Predict块。

双击ClassificationSVM Predict块,打开块参数对话框。指定选择训练过的机器学习模型参数,svmMdl,它是包含训练过的SVM模型的工作空间变量的名称。单击刷新按钮。对话框显示用于训练SVM模型的选项svmMdl训练有素的机器学习模型.选择添加预测类分数的输出端口复选框以添加第二个输出端口分数

分类支持向量机预测块期望一个包含34个预测值的观测值。双击import块,并设置端口尺寸到34信号属性选项卡。

以Simulink模型的结构阵列的形式创建输入信号。金宝app结构阵列必须包含这些字段:

  • 时间- 观察到进入模型的时间点。在该示例中,持续时间包括从0到50的整数。方向必须对应于预测器数据中的观察。所以,在这种情况下,时间必须是列向量。

  • 信号—描述输入数据并包含字段的1 × 1结构数组价值方面,在那里价值是预测数据的矩阵,和方面是预测变量的数量。

为将来雷达返回创建一个适当的结构阵列。

radarReturnInput。时间= (0:50)';radarReturnInput.signals(1)。值= ftrX;radarReturnInput.signals(1)。尺寸大小= (ftrX 2);

从工作区导入信号数据:

  • 打开“配置参数”对话框。在建模选项卡上,单击模型设置

  • 在里面数据导入/导出窗格中,选择输入复选框,并输入carsmallInput在相邻的文本框中。

  • 在里面求解器窗格中,在模拟时间,设置停止时间radarReturnInput.time(结束).下求解器选择,设置类型固定步,并设置求解器离散(没有连续的状态)

有关详细信息,请参见用于仿真的负载信号数据(金宝app模型)

模拟模型。

sim(simmdlname);

当import块检测到一个观测值时,它将该观测值导向ClassificationSVM Predict块。你可以使用仿真数据检查(金宝app模型)查看Outport块的记录数据。

另请参阅

相关话题