控件的使用方法分类vm预测Simulink®中标签预测的块。金宝app该块接受观察(预测器数据)并返回使用训练的支持向量机(SVM)分类模型的观察的预测类标签和类分数。金宝app
这个例子使用了电离层
数据集,其中包含雷达返回品质(y
)及预测数据(X
)34个变量。雷达返回质量很好('G'
)或质量不好('B'
)。
加载电离层
数据集。确定样本量。
加载电离层n = numel(y)
n = 351
假设按顺序检测到雷达返回,并且您拥有前300个观察,但您还没有收到最后51次。将数据分区为现在和未来的样本。
prsntX = X(施用:);prsntY = Y(施用);ftrX = X(301年:,);ftrY = Y(301:结束);
使用所有目前可用的数据列车SVM模型。指定预测数据标准化。
svmmdl = fitcsvm(prsntx,prsnty,“标准化”,真的);
svmmdl.
是A.ClassificationSVM
模型。
通过使用使用的检查负片名称和正类名Classnames.
财产svmmdl.
。
svmmdl.classnames.
ans =.2x1细胞{'b'} {'g'}
否定类是'B'
,正类是'G'
。来自的输出值分数分类svm预测块的端口顺序相同。第一和第二元素分别对应负类和正类分数。
此示例提供了Simulink模型金宝appslexIonosphereClassificationSVMPredictExample.slx
,包括该分类vm预测块。您可以打开Simulink模型或创金宝app建一个新模型,如本节所述。
打开Simulin金宝appk模型slexIonosphereClassificationSVMPredictExample.slx
。
simmdlname ='slexionosphereclassificationsvmpredictexample';open_system (SimMdlName)
这preloadfcn.
回调函数的slexionosphereclassificationsvmpredict表现
包括加载样本数据的代码,培训SVM模型,并为Simulink模型创建输入信号。金宝app如果打开Simulink模型,则金宝app软件运行代码preloadfcn.
在加载Simulink模型之前。金宝app查看回调函数,在设置一节造型选项卡,单击模型设置并选择模型属性。然后,在回调选项卡,选择preloadfcn.
的回调函数模型的回调窗格。
要创建新的Simulink模型,金宝app请打开空白模型模板并添加分类VM预测块。添加Inport和Outport块并将其连接到分类VM预测块。
双击ClassificationsVM预测块以打开“块参数”对话框。指定选择训练好的机器学习模型参数为svmmdl.
,这是包含培训的SVM模型的工作区变量的名称。点击刷新按钮。该对话框显示用于培训SVM模型的选项svmmdl.
在下面训练有素的机器学习模型。选择添加预测类别分数的输出端口复选框添加第二个输出端口分数。
分类VM预测块期望观察包含34个预测值值。双击Inport块,并设置港维到34岁信号的属性标签。
为Simulink模型创建一个结构数组形式的输入信号。金宝app结构数组必须包含以下字段:
时间
-观测结果进入模型的时间点。在本例中,持续时间包括从0到50的整数。方向必须与预报数据中的观测值相对应。在这种情况下,时间
一定是列向量。
信号
- 一个1×1结构阵列,描述输入数据并包含字段值
和维
, 在哪里值
是预测器数据的矩阵,和维
是预测变量的数量。
为将来的雷达返回创建适当的结构阵列。
RadarreturnInput.time =(0:50)';RadarreturnInput.Signals(1).values = ftrx;RadarreturnInput.Signals(1).dimensions =尺寸(ftrx,2);
从工作区导入信号数据:
打开配置参数对话框。在这一点造型选项卡,单击模型设置。
在数据导入/导出窗格,选择输入复选框并进入carsmallInput
在相邻的文本框中。
在解算器窗格,下面仿真时间, 放停止时间至RadarreturnInput.time(结束)
。在下面解算器的选择, 放类型至固定步骤
和集合解算器至离散(无连续状态)
。
有关更多详细信息,请参阅模拟负载信号数据(金宝appSimulink)。
模拟模型。
sim (SimMdlName);
当Inport块检测到观察时,它将观察指向分类VM预测块。你可以使用仿真数据检测器(金宝appSimulink)查看出口块的记录数据。