主要内容

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

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

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

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

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

这棵树基于两个预测器来预测响应,x1而且x2.要进行预测,从顶部节点开始。在每个节点上,检查预测器的值,以决定遵循哪个分支。当分支到达叶节点时,将响应设置为与该节点对应的值。

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

  • 加速度

  • 气缸数量

  • 发动机排量

  • 发动机功率(马力)

  • 模型一年

  • 重量

  • 原产国

  • 每加仑英里数(MPG)

训练回归树来预测一个车型的燃油经济性,以英里每加仑为单位,给予其他变量作为输入。

  1. 在MATLAB®,加载carbig数据集并创建一个包含不同变量的表:

    负载carbigcartable = table(加速度,汽缸,排水量,...马力,Model_Year、重量、起源、MPG);
  2. 应用程序选项卡,在机器学习和深度学习组中,单击回归的学习者

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

  4. 数据集变量在“从工作区新建会话”对话框中,选择cartable从工作空间中的表和矩阵列表中获取。

    观察到应用程序已经预选了响应和预测变量。英里/加仑作为响应,所有其他变量作为预测量。对于本例,不要更改选择。

    “从工作区新建会话”对话框

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

    回归学习者创建一个响应的图,记录数字在x设在。

  6. 使用响应图来研究哪些变量对预测响应是有用的。中选择不同的变量,以可视化不同预测器与响应之间的关系X列表下在情节的右边。

    观察哪些变量与回答的相关性最明显。位移马力,重量所有这些都对反应有明显的影响,而且都显示出与反应的负相关。

    汽车数据的响应图,纵轴为每加仑英里数,横轴为马力

  7. 选择变量起源.系统自动弹出框图。箱形图显示响应的典型值和任何可能的异常值。当绘制标记导致许多点重叠时,箱形图很有用。的变量时显示框图x-axis很少有惟一值,在风格中,选择箱线图

    汽车数据的响应图,每个国家的箱形图在起源预测器

  8. 训练选择的回归树。的模型窗格已经包含了一个很好的树模型。将中型和粗树模型添加到草稿模型列表中。在回归的学习者选项卡,在模型部分,单击箭头打开图库。在回归树组中,单击中树.该应用程序在模型窗格。重新打开模型库并单击粗树回归树组。该应用程序创建一个草稿粗树模型窗格。

    火车部分中,点击火车都并选择火车都.该应用程序训练三种树模型,并绘制每个模型的真实训练响应和预测响应。

    请注意

    • 如果您有并行计算工具箱™,那么应用程序有使用并行按钮默认开启。点击之后火车都并选择火车都选择火车,该应用程序会打开一个平行的工人池。在此期间,您不能与软件交互。池打开后,您可以继续与应用程序交互,同时模型并行训练。

    • 如果没有并行计算工具箱,则应用程序具有使用背景培训的复选框。火车都默认选择的菜单。在你选择一个训练模型的选项后,应用程序会打开一个后台池。池打开后,当模型在后台训练时,您可以继续与应用程序交互。

    用回归树建模的汽车数据响应图

    请注意

    验证在结果中引入了一些随机性。您的模型验证结果可能与此示例中显示的结果不同。

  9. 模型窗格,检查RMSE(验证)(验证均方根误差)。最好的分数在一个方框中突出显示。

    好树中树具有相似的rmse,而粗树不太准确。

  10. 选择一个模型在模型窗格以查看该模型的结果。例如,选择中树模型(模型2)响应图选项卡,在中,选择马力然后检查响应图。真实反应和预测反应都画出来了。显示预测误差,在预测响应和真实响应之间画出竖线错误复选框。

  11. 在模型中查看当前选择模型的更多详细信息总结选项卡。在回归的学习者选项卡,在模型部分中,点击总结.检查和比较其他模型特征,如r平方(决定系数),MAE(平均绝对误差)和预测速度。要了解更多,请参见在“摘要”选项卡和“模型”窗格中查看模型统计信息.在总结选项卡中,您还可以找到关于当前所选模型类型的详细信息,例如用于训练模型的超参数。

  12. 绘制预测反应与真实反应的对比图。在回归的学习者选项卡,在情节与解读部分,单击箭头打开图库,然后单击预测与实际(验证)验证结果组。使用此图可以了解回归模型对不同响应值的预测效果。

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

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

  13. 中选择其他模型模型窗格,打开每个模型的预测与实际图,然后比较结果。重新排列情节的布局,以便更好地比较情节。单击位于模型图选项卡最右边的Document Actions箭头。选择瓷砖都选项并指定1 × 3的布局。单击隐藏情节选项按钮在地块的右上方,为地块腾出更多空间。

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

    若要返回原始布局,可单击布局按钮中的情节与解读分段并选择单型号(默认)

  14. 模型画廊,选择所有的树回归树组。为了改进树模型,需要在模型中包含不同的特征。看看是否可以通过删除预测能力较低的特征来改进模型。

    回归的学习者选项卡,在选项部分中,点击特征选择

    默认特性选择选项卡,您可以选择不同的特征排序算法,以确定最重要的特征。在你选择一个特征排序算法后,应用程序会显示一个排序后的特征重要性分数的图表,其中较大的分数(包括S)表示更大的特征重要性。该表显示了排名的功能及其得分。

    在本例中,两个MRMR而且方差齐性检验特征排序算法对加速和原产国预测器的排序最低。该应用程序禁用RReliefF选项,因为预测器包含数字变量和类别变量的混合。

    特征排序算法,点击方差齐性检验.下特征选择,使用默认选项,选择排名最高的特性,以避免验证指标的偏差。指定为模型训练保留7个特性中的4个。

    默认的Feature Selection选项卡,F Test作为所选的特征排序算法

    点击保存并应用.应用程序将特性选择更改应用到当前草稿模型和使用模型画廊。

  15. 使用简化的特征集训练树模型。在回归的学习者选项卡,在火车部分中,点击火车都并选择火车都选择火车

  16. 观察新模型模型窗格。这些模型是与以前相同的回归树,但只使用7个预测因子中的4个进行训练。该应用程序显示使用了多少预测器。中单击模型以查看使用了哪些预测器模型窗格中的复选框,并注意展开的特征选择模型截面总结选项卡。

    请注意

    如果您使用交叉验证方案并选择使用选择排名最高的功能选项,那么对于每个训练折叠,应用程序在训练模型之前执行特征选择。不同的折叠可以选择不同的预测因子作为排名最高的特征。桌上的桌子默认特性选择TAB显示完整模型使用的预测器列表,根据训练和验证数据进行训练。

    去掉这三个特征的模型表现不如使用所有预测因子的模型。一般来说,如果数据收集昂贵或困难,您可能更喜欢一个不需要一些预测器就能令人满意地执行的模型。

  17. 训练三个回归树预设只使用马力作为一种预测。在模型画廊,选择所有的树回归树组。在模型中总结选项卡,展开特征选择部分。选择选择单独的功能选项,并清除除马力.在回归的学习者选项卡,在火车部分中,点击火车都并选择选择火车

    仅使用发动机功率作为预测器,会导致模型精度较低。然而,这些模型在只使用单一预测因子的情况下表现良好。在这个简单的一维预测空间中,粗树的表现与中树和细树一样好。

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

    ,选择要在x设在。选择真实响应、预测响应、记录数或其中一个预测因子。

    回归树的残差图

    通常一个好的模型有残差大致对称地分布在0附近。如果你能在残差中看到任何清晰的模式,你就有可能改进你的模型。

  19. 中选择最佳模型以了解模型超参数设置模型窗格并展开模型Hyperparameters模型中的部分总结选项卡。比较粗、中、细树模型,并注意模型超参数的差异。特别是最小叶尺寸粗树设置为36,中树设置为12,细树设置为4。此设置控制树叶的大小,并通过该设置控制回归树的大小和深度。

    要尝试改进最佳模型(使用所有预测器训练的中等树),请更改最小叶尺寸设置。首先,单击模型窗格。在回归的学习者选项卡,在模型部分中,点击重复的.在总结选项卡,更改最小叶尺寸取值为8。然后,在火车部份回归的学习者选项卡上,单击火车都并选择选择火车

    要了解关于回归树设置的更多信息,请参见回归树

  20. 您可以将所选模型的完整或精简版本导出到工作区。在回归的学习者选项卡,在出口部分中,点击出口模式选择其中一个出口模式出口紧凑型.在“导出模型”对话框中,单击好吧接受默认变量名trainedModel

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

  21. 使用导出的模型对新数据进行预测。例如,预测cartable工作区中的数据,输入:

    yfit = trainedModel.predictFcn(cartable)
    输出yfit包含每个数据点的预测响应。

  22. 如果您想用新数据自动化训练相同的模型,或者学习如何以编程方式训练回归模型,您可以从应用程序生成代码回归的学习者选项卡,在出口部分中,点击生成函数

    该应用程序从您的模型生成代码,并在MATLAB编辑器中显示该文件。要了解更多,请参见生成MATLAB代码,用新数据训练模型

提示

使用与本例相同的工作流程来评估和比较您可以在regression Learner中训练的其他回归模型类型。

训练所有可用的不可优化回归模型预设:

  1. 回归的学习者选项卡,在模型部分中,单击箭头打开回归模型库。

  2. 开始组中,单击所有

    选择用于训练所有可用模型类型的选项

  3. 火车部分中,点击火车都并选择火车都

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

相关的话题

Baidu
map