主要内容

预测使用RegressionSVM预测块的反应

这个例子展示了如何训练支持向量机(SVM)回归模型使用万博1manbetx回归的学习者应用程序,然后使用RegressionSVM预测块模型的响应预测®。万博1manbetx块接受一个观察预测(预测数据)并返回响应的观测使用训练支持向量机回归模型。

回归模型中回归训练学习者应用

火车一个使用hyperparameter优化支持向量机回归模型的回归学习者应用。

1。在MATLAB®命令窗口,加载carbig数据集,并创建一个矩阵包含大部分的预测变量和响应变量的向量。

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

2。删除行X和Y,要么有缺失值数组。

R = rmmissing ([X Y]);X = R (:, 1: end-1);Y = R(:,结束);

3所示。回归学习者开放。在应用程序选项卡,应用程序部分,单击显示更多箭头显示应用画廊。在机器学习和深度的学习组中,单击回归的学习者

4所示。在回归的学习者选项卡,文件部分中,选择新会话并选择从工作空间

5。新会话从工作区对话框中,选择矩阵X数据集变量列表。下响应,单击从工作空间选择按钮,选择的向量Y工作区。默认的验证选项是5倍交叉验证,防止过度拟合。对于这个示例,不改变默认设置。

RegressionSVMPredictExample_LearnerApp_import_data.png

6。并继续接受默认选项,点击开始会议

7所示。选择一个optimizable训练支持向量机模型。在回归的学习者选项卡,模型部分,单击显示更多箭头打开画廊。在万博1manbetx支持向量机组中,单击Optimizable支持向量机

8。hyperparameters优化选择模型。在总结选项卡,您可以选择优化复选框的hyperparameters你想优化。默认情况下,所有的复选框选择hyperparameters可用。对于这个示例,清除优化复选框的核函数标准化数据。默认情况下,应用程序禁用优化复选框的内核规模当内核以外的函数有一个固定值高斯。选择一个高斯核函数和选择优化复选框的内核规模

RegressionSVMPredictExample_LearnerApp1_optimizable_tree.png

9。在火车部分中,点击火车都并选择选择火车。这个应用程序显示一个最小均方误差图它运行的优化过程。在每个迭代中,应用程序尝试hyperparameter值的不同组合和更新情节与最小均方误差(MSE)验证迭代中观察到,在深蓝色的表示。当应用程序完成了优化过程,它选择的集合优化hyperparameters,红场表示。有关更多信息,请参见最小均方误差图

应用程序列出了优化hyperparameters在优化结果部分情节和右边的模型Hyperparameters模型的部分总结选项卡。一般来说,优化的结果是无法复制的。

10。导出模型的MATLAB工作区。在回归的学习者选项卡,出口部分中,点击出口模式并选择出口模式,然后单击好吧。为导出的模型是默认名称trainedModel

或者,您可以生成列车一个回归模型的MATLAB代码相同的设置用来训练支持向量机模型的应用。回归的学习者选项卡,出口部分中,点击生成函数。从你的会话和应用程序生成的代码在MATLAB中显示文件编辑器。文件定义了一个函数,它接受预测和响应变量,火车一个回归模型,并进行交叉验证。改变的函数名trainRegressionSVMModel并保存文件的函数。训练一个SVM模型通过使用trainRegressionSVMModel函数。

trainedModel = trainRegressionSVMModel (X, Y);

11。提取的训练支持向量机模型trainedModel变量。trainedModel包含一个RegressionSVM模型对象的RegressionSVM字段。

svmMdl = trainedModel.RegressionSVM;

因为hyperparameter优化可以导致一个overfitted模型,推荐的方法是创建一个单独的测试集之前将您的数据导入到回归学习者应用程序,看看测试集优化模型执行。更多细节,明白了火车回归模型使用Hyperparameter优化回归学习者应用

创建模型模型万博1manbetx

这个示例提供了仿真软件模型万博1manbetxslexCarDataRegressionSVMPredictExample.slx,包括RegressionSVM预测块。您可以打开仿真软件模型,或者创建一万博1manbetx个新的模型如本节所述。

打开模型模型万博1manbetxslexCarDataRegressionSVMPredictExample.slx

SimMdlName =“slexCarDataRegressionSVMPredictExample”;open_system (SimMdlName)

slexCarDataRegressionSVMPredictExampleAfterOpenSystem.png

PreLoadFcn回调函数的slexCarDataRegressionSVMPredictExample包括代码加载示例数据,训练支持向量机模型,并创建一个输入信号的仿真软件模型。万博1manbetx如果你打开仿真软件模型,软件运行万博1manbetx的代码PreLoadFcn在装货前仿真软件模型。万博1manbetx查看回调函数设置上节建模选项卡上,单击模型设置并选择模型属性。然后,在回调选项卡中,选择PreLoadFcn回调函数的模型的回调窗格。

创建一个新的模型模型,打开万博1manbetx空白模型模板和添加RegressionSVM预测块。添加尺寸和外港块和连接他们RegressionSVM预测块。

双击RegressionSVM预测块打开参数对话框。您可以指定工作空间变量的名称包含训练支持向量机模型。默认的变量名svmMdl。单击刷新按钮。对话框显示选项用于训练支持向量机模型svmMdl训练有素的机器学习模型

RegressionSVMPredictExample_BlockDialog.png

RegressionSVM预测块预计包含6预测一个观察值。双击尺寸块中,并设置港维上6信号的属性选项卡。

创建一个输入信号的形式结构阵列的仿真软件模型。万博1manbetx结构数组必须包含这些字段:

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

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

创建一个适当的结构数组slexCarDataRegressionSVMPredictExample模型的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(结束)。下解算器的选择,设置类型固定步,并设置解算器离散(没有连续状态)

更多细节,请参阅负载为模拟信号数据(万博1manbetx模型)

模拟模型。

sim (SimMdlName);

当尺寸块检测到一个观察,它指导观察到RegressionSVM预测块中。您可以使用仿真数据检查(万博1manbetx模型)外港的查看记录的数据块。

另请参阅

相关的话题