决策林回归

重要

对机器学习工作室(经典)的支持将于 2024 年 8 月 31 日结束。 建议在该日期之前转换到 Azure 机器学习

从 2021 年 12 月 1 日开始,你将无法创建新的机器学习工作室(经典)资源。 在 2024 年 8 月 31 日之前,可继续使用现有的机器学习工作室(经典)资源。

ML 工作室(经典)文档即将停用,将来可能不会更新。

使用决策林算法创建回归模型

类别: 初始化模型 - 回归

注意

适用于:机器学习 Studio (经典) 应用

可在 Azure 机器学习设计器中获取类似的拖放模块。

模块概述

本文介绍如何使用 机器学习 Studio (经典 ) 中的决策林回归模块,基于决策树的一组来创建回归模型。

配置模型后,必须使用带标签的数据集和训练模型模块来训练模型。 然后,可以使用训练后的模型进行预测。 或者,可以将未训练的模型传递给交叉验证模型,以便对标记的数据集进行交叉验证。

决策林在回归任务中如何工作

决策树是非参数模型,可对每个实例执行一系列简单测试,遍历二元树数据结构,直至到达叶节点(决策)。

决策树具有以下优点:

  • 在训练和预测期间的计算和内存使用效率都很高。

  • 它们可以表示非线性决策边界。

  • 它们执行集成的特征选择和分类,并且在存在干扰性特征时具有弹性。

此回归模型由决策树的集成组成。 回归决策林中的每个树都将高斯分布输出为预测。 聚合是通过树的集成执行的,用于查找与模型中所有树的组合分布最接近的高斯分布。

有关此算法及其实现理论框架的信息,请参阅以下文章:决策林:用于分类、回归、密度估算、Learning和Semi-Supervised Learning

如何配置决策林回归模型

  1. 将" 决策林回归" 模块添加到试验。 可以在工作室中的经典模型 (、初始化) 模型机器学习回归下找到该模块

  2. 打开模块属性,对于“重新采样方法”,请选择用于创建各个树的方法。 你可以选择“装袋”或“复制”。

    • 装袋:装袋也称为“启动聚合”。 回归决策林中的每个树都将高斯分布输出为预测。 聚合是查找一个高斯,其前两个时刻与通过组合单个树返回的所有高斯人给出的高斯混合时刻匹配。

      有关详细信息,请参阅关于启动聚合的维基百科条目。

    • 复制:在复制中,每个树都用完全相同的输入数据进行训练。 确定每个树节点使用哪个拆分谓词仍然是随机的,并且树将多种多样。

      有关包含复制选项的训练过程的详细信息,请参阅适用于计算机视觉和医疗图像分析的决策林。Criminisi 和 J. Shotton。Springer 2013。

  3. 通过设置“创建训练程序模式”选项,指定要如何对模型进行训练。

    • “单个参数”

      如果你知道自己想要如何配置模型,可以提供一组特定的值作为参数。 你可能已通过试验了解了这些值,或者已采用它们作为指南。

    • 参数范围

      如果不确定最佳参数,可以通过指定多个值和使用参数扫描查找最佳配置来查找最佳参数。

      "优化模型超参数" 将针对所提供的设置的所有可能的组合进行一次测试,并确定生成最佳结果的设置组合。

  4. 对于“决策树数目”,请指定要在集成中创建的决策树的总数。 通过创建更多决策树,你可能会获得更好的覆盖范围,但训练时间将会增加。

    提示

    此值还控制对训练后的模型进行可视化时显示的树的数量。 如果希望查看或打印单个树,可将该值设置为 1;但是,这意味着只会生成一个树(带有初始参数集的树),而不会执行进一步的迭代。

  5. 对于“决策树的最大深度”,请键入一个数字,以限制任何决策树的最大深度。 增加树的深度可能会提高精度,但存在过度拟合和训练时间增加的风险。

  6. 对于“每个节点的随机拆分数”,键入在生成树的每个节点时要使用的拆分数。 “拆分”意味着对树的每个级别(节点)的要素进行随机划分。

  7. 对于“每个叶节点的最少样本数”,指定在树中创建任何终端节点(叶)所需的最小事例数。

    通过增加此值,可以增加创建新规则的阈值。 例如,使用默认值 1 时,即使是单个案例也可以导致创建新规则。 如果将值增加到 5,则训练数据将必须包含至少 5 个满足相同条件的案例。

  8. 选择“允许分类特征的未知值”选项可以为训练或验证集内的未知值创建一个组。

    如果取消选中此选项,该模型只会接受训练数据中包含的值。 在前一种情况下,该模型在已知值方面的精确度可能较差,但可以较好地预测新(未知)值。

  9. 连接数据集中,选择一个包含不超过两个结果的标签列,并连接"训练模型"或"优化模型超参数"

    • 如果将“创建训练程序模式”选项设置为“单个参数”,请使用训练模型模块来训练模型

    • 如果将" 创建训练程序模式 "选项设置为" 参数范围",则使用"优化模型 超参数"训练模型

  10. 运行试验。

结果

在训练完成后:

  • 若要查看在每次迭代中创建的树,请右键单击训练模块的输出,并选择“可视化”

  • 若要查看每个节点的规则,请单击每个树并向下钻取到各个拆分。

  • 若要保存已训练模型的快照,请右键单击训练模块的输出,然后选择" 另存为训练模型"。 此模型副本不会在连续运行的试验中更新。

示例

有关回归模型的示例,请参阅示例智能库中的Cortana试验

技术说明

本部分包含实现详情、使用技巧和常见问题解答。

  • 如果将参数范围传递给 训练模型,则它只会使用参数范围列表中的第一个值。

  • 如果将一组参数值传递给优化模型超参数模块,则当它需要每个参数的一系列设置时,它会忽略这些值,并且使用学习器的默认值。

  • 如果选择" 参数 范围"选项并输入任何参数的单个值,则指定的单个值将在整个扫描过程中使用,即使其他参数在一系列值中更改。

使用提示

如果你的数据有限,或者想要最大程度地减少训练模型所用的时间,请尝试以下设置:

有限的训练集。 如果训练集包含有限数量的实例:

  • 使用大量的决策树(例如 20 个以上)创建决策林

  • 使用“装袋”选项来重新采样

  • 为每个节点指定大量的随机拆分(例如,1000 个以上)

有限的训练时间。 如果训练集包含大量实例并且训练时间有限:

  • 使用较少的决策树(例如,5-10 个)创建决策林

  • 使用“复制”选项来重新采样

  • 为每个节点指定少量的随机拆分(例如,100 个以下)

模块参数

名称 范围 类型 默认 说明
重新采样方法 any ResamplingMethod 装袋 选择重新采样方法
决策树数 >=1 Integer 8 指定要在系综中创建的决策树数
决策树的最大深度 >=1 Integer 32 指定可以在系综中创建的任何决策树的最大深度
每个节点的随机拆评分 >=1 Integer 128 为要从中选择最佳拆分的每个节点指定生成的拆评分
每个叶节点的最小样本数 >=1 Integer 1 指定生成叶节点所需的最小训练样本数
允许分类特征的未知值 any 布尔 指示是否可将现有分类特征的未知值映射到其他新特征

Outputs

名称 类型 说明
未训练的模型 ILearner 接口 未训练的回归模型

另请参阅

回归

A-Z 模块列表