你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快速林分位回归

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

使用此组件可在管道中创建快速林分位数回归模型。 如果要了解有关预测值分布的详细信息,而不是获得单个平均值预测值,则快速林分位数回归非常有用。 此方法有很多应用,包括:

  • 预测价格

  • 评估学生表现,或应用生长曲线表来评估儿童发育情况

  • 在变量之间仅存在弱关系的情况下,发现预测性的关系

此回归算法是一种监督式学习方法,这意味着它需要一个已标记的数据集(其中包含标签列)。 因为它是回归算法,所以标签列必须只包含数字值。

有关分位数回归的详细信息

有许多不同类型的回归。 简而言之,回归意味着将模型拟合为以数值向量表示的目标。 然而,统计学家一直在研究更加高级的回归方法。

分位数的最简单定义是一个用于将一组数据分割成大小相等的组的值;因此,分位数值标记了组之间的边界。 从统计学意义上来说,分位数是按固定间隔从随机变量的累积分布函数 (CDF) 的逆函数提取的值。

而线性回归模型尝试使用单个估计值(平均值)来预测数值变量的值,有时你需要预测目标变量的范围或整个分布。 为此,已开发了贝叶斯回归和分位数回归等方法。

分位数回归有助于了解预测值的分布情况。 基于树的分位数回归模型(例如本组件中使用的模型)有一些额外的优点,因此可用于预测非参数化分布。

如何配置快速林分位数回归

  1. 在设计器中将“快速林分位数回归”组件添加到管道。 可以在“机器学习算法”下的“回归”类别中找到此组件 。

  2. 在“快速林分位数回归”组件的右侧窗格中,设置“创建训练器模式”选项,以指定模型的训练方式 。

    • 单个参数:如果知道自己想要如何配置模型,请提供一组特定的值作为参数。 在训练模型时,请使用训练模型

    • 参数范围:如果不确定最佳参数,请使用优化模型超参数组件进行参数扫描。 训练程序将循环访问指定的多个值,以找到最佳配置。

  3. 对于“树数”,键入可在系综中创建的树的最大数目。 创建更多的树通常可以提高准确度,但同时会增加训练时间。

  4. 对于“叶数”,键入可在任何树中创建的叶或终端节点的最大数目。

  5. 对于“形成叶所需的最小训练实例数”,指定在树中创建任何终端节点(叶)所需的最小示例数。

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

  6. 对于“装袋比例”,指定一个介于 0 和 1 之间的数字,该数字表示在生成每组分位数时要使用的样本的比例。 样本是随机选择的,并且带有替换部分。

  7. 对于“拆分比例”,键入一个介于 0 和 1 之间的数字,该数字表示在每次拆分树时要使用的特征的比例。 始终随机选择使用的功能。

  8. 对于“要估计的分位数”,请键入一个以分号分隔的分位数列表,其中的分位数是你希望模型为其训练并创建预测的分位数。

    例如,如果要生成一个模型以便对四分位数进行估计,则应键入 0.25; 0.5; 0.75

  9. (可选)对于“随机数种子”,键入一个值以设定模型所用随机数生成器的种子。 默认值为 0,这意味着选择随机种子。

    如果需要在针对相同数据执行的各次连续运行之中重新生成结果,应提供一个值。

  10. 将训练数据集和未经训练的模型连接到其中一个训练组件:

    • 如果将“创建训练器模式”设置为“单个参数”,请使用训练模型组件 。

    • 如果将“创建训练器模式”设置为“参数范围”,请使用优化模型超参数组件 。

    警告

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

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

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

  11. 提交管道。

结果

在训练完成后:

  • 若要保存已训练模型的快照,请选择训练组件,然后切换到右侧面板中的“输出+日志”选项卡。 单击“注册数据集”图标。 可以在组件树中查找已保存为组件的模型。

评估指标

可以使用评估模型组件评估训练后的模型。 以下是用于快速林分位数回归的指标。

  • 分位数损失:这是模型中基于特定分位数的对错误的度量值。
  • 平均分位数损失:这是模型中考虑的所有分位数的损失值的平均值。 它基于所有分位数的情况衡量模型的综合表现。

后续步骤

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