多类决策森林
重要
对机器学习工作室(经典)的支持将于 2024 年 8 月 31 日结束。 建议在该日期之前转换到 Azure 机器学习。
从 2021 年 12 月 1 日开始,你将无法创建新的机器学习工作室(经典)资源。 在 2024 年 8 月 31 日之前,可继续使用现有的机器学习工作室(经典)资源。
ML 工作室(经典)文档即将停用,将来可能不会更新。
使用决策丛林算法创建多类分类模型
模块概述
本文介绍如何使用机器学习 Studio (经典) 中的 "多类决策蛙鸣" 模块来创建基于监督式学习算法(称为决策森林)的机器学习模型。
您可以使用此模块定义该模型及其参数,然后连接标记的定型数据集,以使用其中一个 定型模块来训练该模型。 训练的模型可用于预测具有多个值的目标。
有关决策森林的详细信息
决策森林 是 决策林的最新扩展。 决策森林包括决策定向无圈图 (DAG) 的系综。
决策森林具有以下优势:
决策 DAG 允许合并树枝,它的内存占用量通常较低,并且与决策树相比具有更好的正则化性能,不过,在某种程度上训练时间更长。
决策森林是可以表示非线性决策边界的非参数模型。
它们执行集成的特征选择和分类,并且在存在干扰性特征时具有弹性。
有关此机器学习算法背后的研究的详细信息,请参阅 决策森林:用于分类 (可下载 PDF) 的精简和丰富模型。
如何配置多类决策蛙鸣模型
将 多类决策蛙 module 模块添加到 Studio 中的试验 (经典) 。 可在“机器学习”、“初始化模型”和“分类”中找到此模块 。
双击该模块以打开“属性”窗格。
重新采样方法,选择用于创建多个树(装袋或复制)的方法。
装袋:选择此选项可使用装袋,也称为 "启动聚合"。
决策林中的每棵树都通过预测输出高斯分布。 聚合将查找其前两分钟与由单个树返回的所有 Gaussians 组合在一起的 Gaussians 混合时间的高斯。
复制:选择此选项以使用复制。 在此方法中,每个树都在完全相同的输入数据上定型。 确定用于每个树节点的拆分谓词是随机的,因此将创建不同的树。
通过设置“创建训练程序模式”选项,指定所希望的模型训练方式。
单个参数:知道要如何配置模型,请使用此选项。
参数范围:如果你不确定最佳参数,并想要使用参数扫描,请使用此选项。
决策 Dag 数:指示可在系综中创建的最大图形数。
决策 dag 的最大深度:指定每个图形的最大深度。
决策 dag 的最大宽度:指定每个图形的最大宽度。
每个决策 DAG 层的优化步骤数:指示在生成每个 dag 时要执行的数据的重复次数。
允许分类特征的未知值:选择此选项可为测试或验证数据中的未知值创建组。 对于已知值,此模型可能不太精确,但是对于新的(未知)值,它可以提供更好的预测。
如果取消选择此选项,该模型只会接受定型数据中存在的值。
将带标签的数据集连接到一个训练模块:
运行试验。
结果
在训练完成后:
- 若要使用模型进行评分,请将其连接到评分模型,以预测新输入示例的值。
示例
有关如何在机器学习中使用决策林的示例,请参阅 Azure AI 库:
- 比较多类分类器示例:使用几种算法,并讨论其优点和缺点。
技术说明
本部分包含实现详情、使用技巧和常见问题解答。
相关研究
有关 " 复制 " 选项的训练过程的详细信息,请参阅:
使用提示
如果你的数据有限,或者想要最大程度地减少训练模型所用的时间,请尝试以下建议:
有限定型集
如果训练集包含有限数量的实例:
- 使用大量的决策 DAG(例如 20 个以上)创建决策森林
- 使用“装袋”选项来重新采样。
- 为每个 DAG 层指定大量的优化步骤(例如 10,000 个以上)。
有限培训时间
如果训练集包含大量实例并且训练时间有限:
- 创建使用少量决策 Dag 的决策蛙鸣 (例如,5-10) 。
- 使用“复制”选项来重新采样。
- 为每个 DAG 层指定少量的优化步骤(例如 2000 个以下)。
模块参数
名称 | 范围 | 类型 | 默认 | 说明 |
---|---|---|---|---|
重新采样方法 | 任意 | ResamplingMethod | 装袋 | 选择重新采样方法 |
决策 DAG 数目 | >=1 | Integer | 8 | 指定可以在系综中创建的决策图数目 |
决策 DAG 的最大深度 | >=1 | Integer | 32 | 指定要在系综中创建的决策图的最大深度 |
决策 DAG 的最大宽度 | >= 8 | Integer | 128 | 指定要在系综中创建的决策图的最大宽度 |
每个决策 DAG 层的优化步骤数 | >= 1000 | Integer | 2048 | 指定用于优化决策图每个级别的步骤数 |
允许分类特征的未知值 | 任意 | 布尔 | True | 指示是否可将现有分类特征的未知值映射到其他新特征 |
Outputs
名称 | 类型 | 说明 |
---|---|---|
未训练的模型 | ILearner 接口 | 未训练的多类分类模型 |