主要内容

预测类标签使用ClassificationTree预测块

这个例子展示了如何训练一个分类决策树模型使用分类学习者应用程序,然后使用ClassificationTree预测块的标签预测模型®。金宝app块接受一个观察(预测数据)并返回的预测类标签和类评分观察使用训练有素的分类决策树模型。

训练分类模型的分类学习者应用

训练一个分类决策树模型分类学习者使用hyperparameter优化的应用程序。

1。在MATLAB®命令窗口,加载电离层数据集,其中包含雷达回波特性(Y)和预测数据(X)的34个变量。雷达返回要么是质量好(‘g’)或坏的质量(“b”)。

加载电离层数据集,确定样本容量。

负载电离层n =元素个数(Y)
n = 351

假设雷达返回检测到的序列,第一个300年的观察,但你还没有收到最后51。分区数据到现在和未来的样本。

prsntX = X(施用:);prsntY = Y(施用);ftrX = X(301年:,);ftrY = Y(301:结束);

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

3所示。在分类学习者选项卡,文件部分中,点击新会话并选择从工作空间

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

ClassificationTreePredictExample_LearnerApp_import_data.png

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

6。选择一个optimizable树模型火车。在分类学习者选项卡,模型部分,单击显示更多箭头打开画廊。在决策树组中,单击Optimizable树

ClassificationTreePredictExample_LearnerApp_optimizable_tree.png

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

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

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

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

trainedModel = trainClassificationTreeModel (prsntX prsntY);

9。提取的训练模式trainedModel变量。trainedModel包含一个ClassificationTree模型对象的ClassificationTree字段。

treeMdl = trainedModel.ClassificationTree;

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

创建模型模型金宝app

这个示例提供了仿真软件模型金宝appslexIonosphereClassificationTreePredictExample.slx,包括ClassificationTree预测块。您可以打开仿真软件模型,或者创建一金宝app个新的模型如本节所述。

打开模型模型金宝appslexIonosphereClassificationTreePredictExample.slx

SimMdlName =“slexIonosphereClassificationTreePredictExample”;open_system (SimMdlName)

slexIonosphereClassificationTreePredictExampleOpenSystem.png

如果你打开仿真软件模型,软件运行金宝app的代码PreLoadFcn回调函数在装货前仿真软件模型。金宝app的PreLoadFcn回调函数的slexIonosphereClassificationTreePredictExample如果您的工作区包含包括代码检查treeMdl变量的训练模式。如果工作空间不包含变量,PreLoadFcn加载示例数据,火车树模型,并创建一个输入信号的仿真软件模型。金宝app查看回调函数设置上节建模选项卡上,单击模型设置并选择模型属性。然后,在回调选项卡中,选择PreLoadFcn回调函数的模型的回调窗格。

创建一个新的模型模型,打开金宝app空白模型模板和添加ClassificationTree预测块。添加尺寸和外港块和连接他们ClassificationTree预测块。

双击ClassificationTree预测块打开参数对话框。您可以指定工作空间变量的名称包含训练模型。默认的变量名treeMdl。单击刷新按钮。对话框显示选项用于训练模型treeMdl训练有素的机器学习模型。选择为预测类分数添加输出端口复选框添加第二个输出端口分数

slexIonosphereClassificationTreePredictExampleBlockDialog.png

ClassificationTree预测块预计一个包含34个指标的观测值。双击尺寸块中,并设置港维34岁的信号的属性选项卡。

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

  • 时间——的时间点观察输入模型。在这个例子中,期间包括整数从0到50。预测的方向必须对应于观测数据。所以,在这种情况下,时间必须是一个列向量。

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

创建一个适当的结构阵列为未来雷达的回报。

radarReturnInput。时间= (0:50)';radarReturnInput.signals (1)。值= ftrX;radarReturnInput.signals (1)。尺寸大小= (ftrX 2);

从工作区导入信号数据:

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

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

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

更多细节,请参阅负载为模拟信号数据(金宝app模型)

模拟模型。

sim (SimMdlName);

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

另请参阅

相关的话题