此示例显示如何使用分类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:end,:);ftrY=Y(301:结束);
使用所有当前可用数据训练SVM模型。指定预测数据标准化。
svmMdl=fitcsvm(prsntX、prsntY、,“标准化”,对);
svmMdl
是一个分类VM
模型
使用类名
性质svmMdl
.
svmMdl.ClassNames
ans=2x1电池{'b'}{'g'}
否定类是“b”
,而正类是“g”
。从分数ClassificationSVM预测块的端口具有相同的顺序。第一个和第二个元素分别对应于消极班级和积极班级分数。
此示例提供Simulink模型金宝appslexIonosphereClassificationSVMPredictExample.slx
,其中包括分类块。您可以打开Simulink模型或按本节所述创金宝app建新模型。
打开Simulin金宝appk模型slexIonosphereClassificationSVMPredictExample.slx
.
SimMdlName=“SlexionSphereClassificationsVMPredictExample”;开放式系统(SimMdlName)
这个预处理
的回调函数SlexionNoSphereClassificationsVMPredictExample
包括加载样本数据、训练SVM模型以及为Simulink模型创建输入信号的代码。如果打开Simulink模型,则软件将在中运行代码金宝app预处理
加载Simulink模型之前。要查看回金宝app调函数,请在安装程序关于建模选项卡,单击模型设置选择模型属性.然后,在回调选项卡上,选择预处理
中的回调函数模型回调窗玻璃
要创建新的Simulink模型,金宝app请打开空白模型模板并添加ClassificationSVM预测块。添加输入和输出块并将它们连接到ClassificationSVM预测块。
双击ClassificationSVM预测块以打开“块参数”对话框。指定选择经过训练的机器学习模型参数为svmMdl
,它是包含经过训练的SVM模型的工作空间变量的名称。单击刷新对话框显示用于训练SVM模型的选项svmMdl
在下面训练机器学习模型. 选择为预测的班级分数添加输出端口复选框以添加第二个输出端口分数.
ClassificationSVM预测块需要一个包含34个预测值的观察值。双击输入块,然后设置端口尺寸到34岁了信号属性标签。
为Simulink模型创建结构数组形式的输入信号。结构数组必须包含以下字段:金宝app
时间
-观察值进入模型的时间点。在本例中,持续时间包括从0到50的整数。方向必须与预测数据中的观察值相对应。因此,在本例中,时间
必须是列向量。
信号
-描述输入数据并包含字段的1×1结构数组价值观
和尺寸
哪里价值观
是预测数据的矩阵,以及尺寸
是预测变量的数量。
为未来的雷达返回创建适当的结构阵列。
radarReturnInput.time=(0:50)';雷达回波输入。信号(1)。值=ftrX;雷达回波输入。信号(1)。尺寸=尺寸(ftrX,2);
要从工作区导入信号数据,请执行以下操作:
打开“配置参数”对话框。上建模选项卡,单击模型设置.
在数据导入/导出窗格中,选择输入选中复选框并输入雷达回波输入
在相邻的文本框中。
在解算器窗格,在下面模拟时间设置停止时间到雷达返回输入时间(结束)
在下面解算器选择设置类型到固定步长
,并设置解算器到离散(无连续状态)
.
有关详细信息,请参阅用于模拟的负载信号数据(金宝appSimulink).
模拟模型。
sim(SimMdlName);
当Inport块检测到一个观测值时,它会将观测值引导到ClassificationSVM预测块中模拟数据检查器(金宝appSimulink)查看输出端口块的记录数据。