使用classiationsvm预测块预测类标签
方法的使用ClassificationSVM预测block for Simulink®标签预测。该块接受观测数据(预测数据),并使用训练过的支持向量机(SVM)分类模型返回观测的预测类别标签和类别分数。
列车分类模型
本例使用电离层
数据集,包含雷达回波质量(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:end);
使用当前所有可用数据训练支持向量机模型。指定预测器数据标准化。
svmMdl = fitcsvm(prsntX,prsntY,“标准化”,真正的);
svmMdl
是一个ClassificationSVM
模型。
方法检查类名的正负一会
的属性svmMdl
.
svmMdl。一会
ans =2 x1细胞{b} {' g '}
否定类是“b”
,正类为‘g’
.的输出值分数ClassificationSVM预测块的端口具有相同的顺序。第一和第二要素分别对应负类和正类分数。
创建Simulink模型
本例提供了Simulink模型slexIonosphereClassificationSVMPredictExample.slx
,包括ClassificationSVM预测块。您可以打开Simulink模型或创建本节所述的新模型。
打开Simulink模型slexIonosphereClassificationSVMPredictExample.slx
.
SimMdlName =“slexIonosphereClassificationSVMPredictExample”;open_system (SimMdlName)
的PreLoadFcn
的回调函数slexIonosphereClassificationSVMPredictExample
包括加载样本数据的代码,训练SVM模型,并为Simulink模型创建输入信号。如果您打开Simulink模型,那么软件将运行代码PreLoadFcn
在加载Simulink模型之前。若要查看回调函数,请在设置章节建模选项卡上,单击模型设置并选择模型属性.然后,在回调选项卡,选择PreLoadFcn
中的回调函数。模型的回调窗格。
要创建一个新的Simulink模型,请打开空白模型模板,并添加ClassificationSVM预测块。添加import和Outport块,并将它们连接到ClassificationSVM Predict块。
双击ClassificationSVM Predict块,打开块参数对话框。指定选择训练过的机器学习模型参数,svmMdl
,这是包含训练过的SVM模型的工作空间变量的名称。单击刷新按钮。对话框显示用于训练SVM模型的选项svmMdl
下训练过的机器学习模型.选择为预测的班级分数添加输出端口复选框添加第二个输出端口分数.
ClassificationSVM预测块期望包含34个预测值的观测值。双击“导入”块,并设置港维到34号信号的属性选项卡。
为Simulink模型创建结构数组形式的输入信号。结构数组必须包含以下字段:
时间
-观测数据进入模型的时间点。在本例中,持续时间包括0到50之间的整数。方向必须与预测器数据中的观测值相对应。在这种情况下,时间
一定是列向量。信号
—一个1乘1的结构数组,描述输入数据并包含字段值
而且维
,在那里值
是一个矩阵的预测数据,和维
是预测变量的数量。
为将来的雷达返回创建一个适当的结构数组。
radarReturnInput。时间= (0:50)';radarReturnInput.signals(1)。values = ftrX;radarReturnInput.signals(1)。维度= size(ftrX,2);
从工作空间导入信号数据:
打开“配置参数”对话框。在建模选项卡上,单击模型设置.
在数据导入/导出窗格中,选择输入复选框,然后输入
radarReturnInput
在相邻的文本框中。在解算器窗格中,在仿真时间,设置停止时间来
radarReturnInput.time(结束)
.下解算器的选择,设置类型来固定步
,并设置解算器来离散(无连续状态)
.
详情请参见模拟加载信号数据(模型).
模拟模型。
sim (SimMdlName);
当import块检测到观测值时,它将观测值引导到ClassificationSVM Predict块。您可以使用模拟数据检查器(模型)查看Outport块的记录数据。