主要内容

使用回归学习程序训练回归树

这个示例展示了如何使用regression Learner应用程序创建和比较各种回归树,并将训练过的模型导出到工作空间,以便对新数据进行预测。

您可以训练回归树来预测对给定输入数据的响应。要预测回归树的响应,请沿着树从根(开始)节点向下到叶节点。在每个节点上,使用与该节点关联的规则决定遵循哪个分支。继续,直到到达叶节点。预测的响应是与该叶节点相关联的值。

统计和机器学习工具箱™树是二进制的。预测的每一步都需要检查一个预测变量的值。例如,这是一个简单的回归树:

具有两个预测器的回归树的可视化

这棵树基于两个预测器预测响应,X1X2.要预测,从顶部节点开始。在每个节点处,检查预测器的值以决定要遵循的分支。当分支到达叶节点时,响应被设置为与该节点对应的值。

此示例使用CARBIG.数据集。该数据集包含自1970年至1982年生产的不同汽车模型的特征,包括:

  • 加速度

  • 气缸数

  • 发动机排量

  • 发动机功率(马力)

  • 模型年份

  • 重量

  • 出生国家

  • 英里每加仑(MPG)

火车回归树,以预测每加仑英里的燃料经济的汽车模型,给予其他变量作为输入。

  1. 在matlab.®,加载CARBIG.数据集并创建包含不同变量的表:

    加载CARBIG.cartable =表(加速、气缸、位移,......马力,model_year,重量,原产地,mpg);
  2. 在这方面应用选项卡,机器学习和深度学习组,点击回归的学习者

  3. 在这方面回归的学习者选项卡,文件部分,选择新会话>从工作区

  4. 在下面数据集变量在“来自工作区的新会话”对话框中选择卡尔特从工作区中的表和矩阵列表中。

    观察到该应用程序已预选响应和预测变量。MPG.被选为响应,以及所有其他变量作为预测器。对于此示例,请勿更改选择。

    从工作区对话框的新会话

  5. 要接受默认的验证方案并继续,请单击开始会议.默认验证选项是交叉验证,以防止过度装备。

    回归学习者创建一个响应的曲目与记录号X设在。

  6. 使用响应图来调查哪些变量对于预测响应是有用的。要可视化不同预测器与响应之间的关系,请选择不同的变量X列表X轴

    观察哪些变量与响应最清晰相关。移位马力,重量所有人都对响应有明显的影响,并且所有人都与响应表现出负面关联。

    汽车数据的响应情节,垂直轴上每加仑数英里,水平轴上的马力

  7. 选择变量起源在下面X轴.箱线图会自动显示出来。箱线图显示了响应的典型值和任何可能的异常值。当绘制标记导致许多点重叠时,箱线图是有用的。上的变量时显示框图X-axis有很少的独特价值风格, 选择箱形图

    汽车数据的响应情节,带有原产地预测器中的每个国家的盒子图

  8. 创建一系列回归树。在这方面回归的学习者选项卡,模型类型部分,点击所有的树

    然后点击火车

    提示

    如果你有并行计算工具箱™,你可以训练所有的模型(所有的树)通过选择来同时使用并行按钮在训练点击之前的部分火车.点击后火车,打开并行池对话框打开并保持打开状态,同时应用程序打开并行工作人员池。在此期间,您不能与该软件进行交互。泳池开放后,应用程序会同时训练模特。

    回归学习者创造并列车三个回归树:a细树,一个中树和A.粗树

    这三种模型出现在楷模窗格。检查RMSE(验证)(验证根均方误差)模型。最好的分数是在一个盒子里突出的。

    细树中树有类似的RMSE,而粗树不太准确。

    回归学习者绘制第一模型的真实训练反应和预测反应(模型1.1)。

    回归树建模的汽车数据的响应情节

    笔记

    如果您使用的是验证,结果包括一些随机性。因此,您的模型验证分数可能与所示结果不同。

  9. 选择一个模型楷模窗格查看该模型的结果。例如,选择中树模型(型号1.2)。在这方面回归的学习者选项卡,绘图部分,单击箭头以打开图库,然后单击响应验证结果组。在下面X轴, 选择马力并检查响应情节。现在绘制了真实和预测的答复。显示预测错误,通过选择预测和真实响应之间的垂直线路绘制错误复选框。

  10. 查看有关当前所选模型的更多详细信息当前模型摘要窗格。检查和比较其他模型特征,如R-squared(决定系数),MAE(平均绝对误差),和预测速度。要了解更多信息,请参阅查看和比较模型统计.在里面当前模型摘要窗格中,您还可以找到有关当前选择的模型类型的详细信息,例如用于训练模型的选项。

  11. 绘制预测的响应与真实响应。在这方面回归的学习者选项卡,绘图部分,单击箭头以打开图库,然后单击预测与实际(验证)验证结果组。使用此曲线来了解回归模型如何对不同响应值进行预测。

    预测响应的绘图与回归树的真实响应

    一个完美的回归模型预测响应等于真实响应,所以所有的点都在一条对角线上。从直线到任意点的垂直距离就是对该点的预测误差。一个好的模型误差小,所以预测都分散在这条线附近。通常一个好的模型在对角线周围有一些大致对称分布的点。如果您能在图中看到任何清晰的模式,那么您就有可能改进您的模型。

  12. 选择其他模型楷模窗格,打开每个模型的预测与实际图,然后比较结果。重新排列图的布局以更好地比较图。单击“文档操作”箭头位于模型绘图标签的最右侧。选择瓷砖所有选项并指定一个1×3布局。单击“隐藏绘图选项”按钮在地块的右上角,为绘制的地块做更多的空间。

    预测响应的绘图与三个回归树模型的真实响应

    要返回原始布局,可以单击布局按钮在绘图部分和选择单一模型(默认)

  13. 在里面模型类型画廊,选择所有的树再次。要尝试改进模型,请尝试在模型中包括不同的功能。看看您是否可以通过删除具有低预测功率的功能来改进模型。在这方面回归的学习者选项卡,特征部分,点击特征选择

    在“功能选择”对话框中,清除复选框加速度气瓶从预测器中排除它们。点击好吧

    点击火车使用新的预测器设置培训新的回归树。

  14. 观察新模型楷模窗格。这些模型与以前一样是相同的回归树,但仅使用七个预测器中的五个培训。该应用程序显示使用了多少预测器。要检查使用哪些预测器,请单击模型楷模窗格并遵守“功能选择”对话框中的复选框。

    使用所有预测器的模型删除了两个特征的模型。与仅使用预测器的子集相比,模型不再使用所有预测器更好地预测。如果数据收集昂贵或困难,您可能更喜欢在没有一些预测器的情况下令人满意地执行的模型。

  15. 仅使用三个回归树预设马力作为预测的指标。更改“功能选择”对话框中的选择,然后单击好吧.然后点击火车

    仅使用发动机电源作为预测器的型号,精度较低。但是,模型表现良好,因为它们仅使用单个预测器。利用这种简单的一维预测因素空间,粗糙的树现在执行以及介质和细树。

  16. 选择最好的模型在楷模窗格并查看残差情节。在这方面回归的学习者选项卡,绘图部分,单击箭头以打开图库,然后单击残差(验证)验证结果组。残差图显示了预测和真实反应之间的差异。将残差显示为线形图,在风格部分,选择

    在下面X轴,选择要在绘制的变量X设在。选择真实的反应,预测的反应,记录号码,或你的预测之一。

    回归树的残差绘制

    通常,一个很好的模型具有大致对称的残差左右。如果您可以在残差看到任何明确的模式,您可能会改善您的模型。

  17. 要了解模型设置,请选择最佳模型楷模窗格并查看高级设置。非优化的模型选项模型类型图库是预设的起点,您可以更改其他设置。在这方面回归的学习者选项卡,模型类型部分,点击先进的.比较不同的回归树模型楷模窗格,并遵守“高级回归树选项”对话框的差异。这最小叶大小设置控制树叶的大小,并通过回归树的大小和深度。

    要尝试进一步改进模型,更改最小叶大小设置为8,单击好吧.然后点击培训一个新模型火车

    查看所选培训模型的设置当前模型摘要窗格或“高级回归树选项”对话框。

    要了解有关回归树设置的更多信息,请参阅回归树木

  18. 您可以将所选模型的完整或紧凑版本的版本导出到工作区。在这方面回归的学习者选项卡,出口部分,点击出口模式并选择任一个出口模式出口紧凑型号.在导出模型对话框中,单击好吧接受默认的变量名训练显示

    要查看结果的信息,请查看命令窗口。

  19. 使用导出的模型对新数据进行预测。例如,为预测进行预测卡尔特您工作区中的数据,输入:

    YFIT = TROORARMODEL.PREDICTFCN(卡特尔)
    输出YFIT.包含每个数据点的预测响应。

  20. 如果您想自动培训与新数据相同的模型或者学习如何编程方式ristoical列回归模型,则可以从应用程序生成代码。为最佳培训的模型生成代码回归的学习者选项卡,出口部分,点击生成函数

    该应用程序从模型生成代码,并在MATLAB编辑器中显示该文件。要了解更多信息,请参阅使用新数据生成MATLAB代码来培训模型

提示

在此示例中使用相同的工作流来评估和比较您可以在回归学习者中培训的其他回归模型类型。

培训所有非优化的回归模型预设:

  1. 在最右边模型类型部分,单击箭头以展开回归模型列表。

  2. 点击所有,然后单击火车

要了解其他回归模型类型,请参见在回归学习者应用程序中训练回归模型

相关的话题