“一对多”多类分类

重要

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

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

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

使用二元分类模型的系综创建多类分类模型

类别:机器学习/初始化模型/分类

注意

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

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

模块概述

本文介绍如何使用机器学习 Studio 中的多类模块 (经典) ,创建可使用 "一种与全部" 方法预测多个类的分类模型。

当结果依赖于连续的或分类的预测器变量时,此模块可用于创建预测三个或更多可能结果的模型。 使用此方法还能对需要多个输出类的问题使用二元分类方法。

有关 one-vs 的详细信息。所有模型

尽管某些分类算法允许按设计使用两个以上的类,但其他一些则会将可能的结果限制为两个值中的一个 (二进制或双类模型) 。 但是,甚至可以使用各种策略来改编多类分类任务的二进制分类算法。

此模块实现一对多方法,其中,将为多个输出类中的每一个类创建二元模型。 单个类的每个二元模型都是根据其补数(模型中的所有其他类)评估的,就像二元分类法中一样。 然后,通过运行这些二进制分类器并选择具有最高置信度分数的预测来执行预测。

从本质上讲,将创建单个模型的系综,然后合并结果,以创建用于预测所有类的单个模型。 因此,任何二进制分类器均可用作一对一模型的基础。

例如,假设您配置一个 双类支持向量机 模型,并将其作为输入提供给 一对多多类 模块。 该模块将为输出类的所有成员创建双类支持向量机模型,然后应用一种 vs-all 方法来合并所有类的结果。

如何配置一对多分类器

此模块创建一组二元分类模型以分析多个类。 因此,若要使用此模块,需要先配置并训练 二元分类 模型。

然后,将二进制模型连接到 一个 Vs-All 多类 模块,并通过将 定型模型 与标记的定型数据集结合使用来定型模型的系综。

组合模型时,即使定型数据集可能包含多个类值, 多类 也会创建多个二进制分类模型,优化每个类的算法,然后合并这些模型。

  1. 在 Studio (经典) 中,将 多类 添加到试验中。 您可以在 "分类" 类别中机器学习初始化下找到此模块。

    一对多多类分类器没有自己的可配置参数。 所有自定义都必须在作为输入提供的二进制分类模型中完成。

  2. 向试验中添加一个二元分类模型,并配置该模型。 例如,可以使用 双类支持向量机双类提升决策树

    如果需要帮助选择正确的算法,请参阅以下资源:

  3. 将 " 训练模型 " 模块添加到实验,并连接非定型分类器,这是 一个 Vs-All 多类的输出。

  4. 训练模型的其他输入上,连接包含多个类值的标记定型数据集。

  5. 运行试验,或选择 定型模式l,然后单击 " 运行所选项"。

结果

训练完成后,可以使用模型进行多类分类预测。

或者,您可以将未训练的分类器传递给 交叉验证模型 ,以便对标记的验证数据集进行交叉验证。

示例

有关如何使用此学习算法的示例,请参阅 Azure AI 库

预期输入

名称 类型 说明
未训练的二元分类模型 ILearner 接口 未训练的二元分类模型

Outputs

名称 类型 说明
未训练的模型 ILearner 接口 未训练的多类分类

例外

异常 描述
错误 0013 如果传递给该模块的学习器类型有误,则会发生异常。

有关特定于 Studio (经典) 模块的错误列表,请参阅机器学习错误代码

有关 API 异常的列表,请参阅机器学习 REST API 错误代码

另请参阅

分类