主要内容

使用回归树预测块预测响应

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

火车回归模型

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

负载carbigX =(加速度、汽缸、排量、马力、Model_Year重量);Y = MPG;

训练回归树模型。

treeMdl = fitrtree (X, Y);

treeMdl是一个RegressionTree模型。

创建模型模型金宝app

这个例子提供了Simulink模型金宝appslexCarDataRegressionTreePredictExample.slx,其中包括RegressionTree预测块。您可以打开Simulink模型或创金宝app建本节所述的新模型。

打开Simulin金宝appk模型slexCarDataRegressionTreePredictExample.slx

SimMdlName =“slexCarDataRegressionTreePredictExample”;open_system (SimMdlName)

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

要创建新的Simulink模型,金宝app请打开空白模型模板,并添加RegressionTree Predict块。添加import和Outport块,并将它们连接到RegressionTree Predict块。

双击RegressionTree Predict块,打开块参数对话框。您可以指定包含经过训练的树模型的工作区变量的名称。默认变量名为treeMdl.单击刷新按钮。对话框显示用于训练树模型的选项treeMdl训练有素的机器学习模型

RegressionTree Predict块期望一个包含6个预测值的观测值。双击import块,并设置港维到6号信号的属性选项卡。

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

  • 时间-观测数据进入模型的时间点。方位必须与预测器数据中的观测值相对应。在这个例子中,时间必须是一个列向量。

  • 信号—描述输入数据并包含字段的1 × 1结构数组,在那里是预测数据的矩阵,和为预测变量的数量。

对象创建适当的结构数组slexCarDataRegressionTreePredictExample模型的carsmall数据集。

负载carsmalltestX =(加速度、汽缸、排量、马力、Model_Year重量);testX = rmmissing (testX);carsmallInput。时间= (0:size(testX,1)-1)'; carsmallInput.signals(1).values = testX; carsmallInput.signals(1).dimensions = size(testX,2);

从工作区导入信号数据:

  • 打开“配置参数”对话框。在建模选项卡上,单击模型设置

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

  • 解算器窗格中,在仿真时间,设置停止时间carsmallInput.time(结束).下解算器的选择,设置类型固定步,并设置解算器离散(无连续状态)

有关详细信息,请参见模拟负载信号数据(金宝app模型)

模拟模型。

sim (SimMdlName);

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

另请参阅

相关的话题