此示例显示如何使用ClassificationSVM预测在Simulink®中用于标签预测的块。万博1manbetx该块接受一个观察(预测数据),并使用训练过的支持向量机(SVM)分类模型返回预测的类别标签和类别得分。万博1manbetx
本示例使用电离层
数据集,其中包含雷达返回质量(Y
)和预测数据(X
)的34个变量。雷达回波要么质量好(‘g’
)或不良品质(“b”
).
加载电离层
数据集。确定样本量。
负载电离层n =元素个数(Y)
n=351
假设按顺序探测到雷达返回,您已经有了前300个观测值,但还没有收到最后51个。将数据划分为当前和未来的样本。
prsntX=X(1:300,:);prsntY=Y(1:300);ftrX=X(301:end,:);ftrY=Y(301:结束);
使用所有当前可用的数据训练支持向量机模型。指定预测器数据标准化。
svmMdl = fitcsvm (prsntX prsntY,“标准化”,真正的);
svmMdl
是一个分类VM
模型。
方法检查负类名和正类名一会
的属性svmMdl
.
svmMdl。一会
ans =2 x1细胞{b} {' g '}
否定类是“b”
,而正类是‘g’
.的输出值分数ClassificationSVM预测块的端口具有相同的顺序。第一个和第二个元素分别对应于消极班级和积极班级分数。
这个例子提供了Simulink模型万博1manbetxslexIonosphereClassificationSVMPredictExample.slx
,其中包括ClassificationSVM预测块您可以打开Simulink模型或创建新模型,如万博1manbetx本节所述。
打开Simulin万博1manbetxk模型slexIonosphereClassificationSVMPredictExample.slx
.
SimMdlName =“slexIonosphereClassificationSVMPredictExample”; 开放式系统(SimMdlName)
的PreLoadFcn
的回调函数slexIonosphereClassificationSVMPredictExample
包括加载样本数据、训练SVM模型和为Simulink模型创建输入信号的代码。万博1manbetx如果打开Simulink模型,软万博1manbetx件就会运行代码PreLoadFcn
加载Simulink模型之前。万博1manbetx要查看回调函数,请在设置上节建模选项卡上,单击模型设置并选择模型属性. 然后,在回调选项卡中,选择PreLoadFcn
中的回调函数模型回调窗玻璃
要创建新的Simulink模型,万博1manbetx请打开空白模型模板,并添加ClassificationSVM Predict块。添加import和Outport块,并将它们连接到ClassificationSVM Predict块。
双击ClassificationSVM Predict块,打开块参数对话框。指定选择经过训练的机器学习模型参数,svmMdl
,它是包含训练过的SVM模型的工作空间变量的名称。单击刷新按钮。对话框显示用于训练SVM模型的选项svmMdl
下训练有素的机器学习模型.选择添加预测类分数的输出端口复选框以添加第二个输出端口分数.
分类支持向量机预测块期望一个包含34个预测值的观测值。双击import块,并设置端口尺寸到34岁了信号属性选项卡。
以Simulink模型的结构阵列形式创建输入信号。结构数组必须包含以下字段:万博1manbetx
时间
-观测值进入模型的时间点。在本例中,持续时间包括从0到50的整数。方向必须与预测器数据中的观测值相对应。那么在这种情况下,,时间
必须是列向量。
信号
—描述输入数据并包含字段的1 × 1结构数组价值观
和尺寸
,在那里价值观
是预测数据的矩阵,和尺寸
是预测变量的数量。
为将来雷达返回创建一个适当的结构阵列。
radarReturnInput。时间= (0:50)';radarReturnInput.signals(1)。值= ftrX;radarReturnInput.signals(1)。尺寸大小= (ftrX 2);
从工作区导入信号数据:
打开“配置参数”对话框。在建模选项卡上,单击模型设置.
在数据导入/导出窗格中,选择输入复选框,并输入小卡输入
在相邻的文本框中。
在解算器窗格中,在模拟时间,设置停止时间来radarReturnInput.time(结束)
.下解算器选择,设置类型来固定步
,并设置解算器来离散(无连续状态)
.
有关详细信息,请参见用于模拟的负载信号数据(万博1manbetx模型).
模拟模型。
sim(SimMdlName);
当import块检测到一个观测值时,它将该观测值导向ClassificationSVM Predict块。你可以使用仿真数据检查(万博1manbetx模型)查看Outport块的记录数据。