主要内容

使用回归预测块预测响应

此示例显示了如何使用回归预测模块用于Simulink®中的响应预测。金宝app该块接受一个观察(预测数据),并使用训练过的回归树模型返回对该观察的预测响应。

火车回归模型

加载CARBIG.数据集,其中包含20世纪70年代和80年代初生产的汽车的测量数据。创建一个包含预测变量和响应变量向量的矩阵。

加载CARBIG.X = [加速,气缸,位移,马力,型号,重量,重量];Y = MPG;

训练回归树模型。

treemdl = fitrtree(x,y);

treeMdl是A.回归植物模型。

创建Simul金宝appink模型

此示例提供了Simulink模型金宝appslexCarDataRegressionTreePredictExample.slx,包括该包括回归预测块。您可以打开Simulink模型或创金宝app建本节所述的新模型。

打开Simulin金宝appk模型slexCarDataRegressionTreePredictExample.slx

simmdlname =.'slexcardataregressiontriontreepredict表口';open_system (SimMdlName)

preloadfcn.回调函数的slexcardataregressiontriontreepredict表口包括加载示例数据、训练树模型和为Simulink模型创建输入信号的代码。金宝app如果打开Simulink模型,软金宝app件就会运行代码preloadfcn.在加载Simulink模型之前。金宝app查看回调函数,在设置关于的部分造型选项卡,单击模型设置并选择模型属性.然后,在回调选项卡,选择preloadfcn.的回调函数模型的回调窗格。

要创建新的Simulink模型,金宝app请打开空白模型模板并添加回归的预测块。添加Inport和Outport块并将其连接到回归预测块。

双击“回归陷得预测”块以打开“块参数”对话框。您可以指定包含培训的树模型的工作区变量的名称。默认变量名称是treeMdl.点击刷新按钮。该对话框显示用于培训树模型的选项treeMdl在下面训练有素的机器学习模型

RegressionTree Predict块期望一个包含6个预测值的观测值。双击import块,并设置端口尺寸到了6信号属性标签。

以结构数组的形式为Simulink模型创建一个输入信号。金宝app结构数组必须包含以下字段:

  • 时间- 观察进入模型的时间点。方向必须对应于预测器数据中的观察。所以,在这个例子中,时间必须是列向量。

  • 信号- 一个1-1结构阵列,描述输入数据并包含字段方面, 在哪里是预测器数据的矩阵,和方面为预测变量的数量。

对象创建适当的结构数组slexcardataregressiontriontreepredict表口模型从carsmall数据集。

加载carsmalltestx = [加速,圆柱,位移,马力,型号,重量];testx = rmmissing(testx);carsmallinput.time =(0:size(testx,1)-1)';carsmallinput.signals(1).values = testx;carsmallinput.signals(1).dimensions =尺寸(testx,2);

从工作区导入信号数据:

  • 打开配置参数对话框。在这方面造型选项卡,单击模型设置

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

  • 解算器窗格,下面模拟时间, 放停止时间carsmallinput.time(结束).在下面解算器的选择, 放类型固定步骤和集合解算器离散(无连续状态)

有关更多详细信息,请参阅负载信号数据进行仿真(金宝appSimulink)

模拟模型。

sim (SimMdlName);

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

也可以看看

相关的话题