Compartir a través de

“双类决策林”组件

本文介绍 Azure 机器学习设计器中的一个组件。

使用此组件可基于决策林算法创建机器学习模型。

决策林是快速的监督式集成模型。 如果要预测最多只有两个结果的目标,则此组件是一个不错的选择。

了解决策林

此决策林算法是一种用于分类任务的集成学习方法。 集成方法的基本原理是,可以通过创建多个相关模型并以某种方式组合它们来获得更好的结果和更通用的模型,而不是依赖于单个模型。 一般说来,集成模型可以提供比单个决策树更大的覆盖范围和更高的准确度。

有许多方法可用来创建各个模型并将它们组合到一个集成中。 决策林的此特定实现的工作原理是生成多个决策树,然后对最受欢迎的输出类进行投票。 投票是用于在一个集成模型中生成结果的更知名方法之一。

  • 将使用整个数据集但使用不同的(通常为随机的)起点创建许多单独的分类树。 这不同于随机林方法,在随机林方法中,各个决策树可能仅使用数据或特征的某个随机部分。
  • 决策林中的每个树都会输出标签的一个非标准化频率直方图。
  • 聚合过程将这些直方图求和,并对结果进行标准化以获得每个标签的“概率”。
  • 决策树的预测置信度越高,它在集成的最终决策中所占的权重越高。

通常,对于分类任务,决策树有许多优势:

  • 它们可以捕获非线性决策边界。
  • 你可以基于大量数据进行训练和预测,因为它们在计算和内存使用方面很有效。
  • 训练和分类流程中集成了特征选择。
  • 树可以容纳干扰性数据和许多特征。
  • 它们是非参数模型,这意味着它们可以处理具有不同分布的数据。

但是,简单决策树可能会基于数据过度拟合,并且通用性比集成更低。

有关详细信息,请参阅决策林

配置方式

  1. 将“双类决策林”组件添加到 Azure 机器学习中的管道,并打开组件的“属性”窗格。

    可以在“机器学习”下找到该组件。 依次展开“初始化”和“分类”。

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

    • 装袋:装袋也称为“启动聚合”。 在此方法中,每个树都在新示例的基础上发展。新示例的创建方法是,对原始数据集进行随机采样并替换,直到得到与原始数据集相同大小的数据集。

      模型的输出通过“投票”(一种聚合形式)组合在一起。 分类决策林中的每个树都会输出标签的一个非标准化频率直方图。 聚合就是将这些直方图求和,并进行标准化以获得每个标签的“概率”。 在此方式中,决策树的预测置信度越高,它在集成的最终决策中所占的权重越高。

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

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

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

    • “单个参数”:如果你知道自己想要如何配置模型,可以提供一组特定的值作为参数。

    • 参数范围:如果不确定最佳参数,可以使用优化模型超参数组件找到最佳参数。 你提供一定的值范围,然后训练程序会循环访问设置的多个组合,以确定可产生最佳结果的值组合。

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

    注意

    如果将值设置为 1。 但是,只能生成一个树(该树采用初始的参数集),不会执行进一步的迭代。

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

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

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

  7. 选择“允许分类特征的未知值”选项可以为训练或验证集内的未知值创建一个组。 对于已知值,此模型可能不太精确,但是对于新的(未知)值,它可以提供更好的预测。

    如果取消选择此选项,则模型只能接受训练数据中包含的值。

  8. 附加标记的数据集,并训练模型:

    • 如果将“创建训练器模式”设置为“单个参数”,请连接标记的数据集和训练模型组件。

    • 如果将“创建训练程序模式”设置为“参数范围”,请连接带标记的数据集并使用优化模型超参数来训练模型

    注意

    如果将参数范围传递给训练模型,则它只使用单个参数列表中的默认值。

    如果将一组参数值传递给优化模型超参数组件,则当它期望每个参数有一系列设置时,它会忽略这些值,对学习器使用默认值。

    如果选择“参数范围”选项并为任何参数输入单个值,则整个整理过程中都会使用你指定的单个值,即使其他参数的值发生一系列更改。

结果

在训练完成后:

  • 若要保存已训练模型的快照,请选择“训练模型”组件右侧面板中的“输出”选项卡。 选择“注册数据集”图标以将模型保存为可重用组件。

  • 若要使用模型进行评分,请将“为模型评分”组件添加到管道中。

后续步骤

请参阅 Azure 机器学习可用的组件集