排列特征重要性

重要

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

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

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

计算给定定型模型和测试数据集的功能变量的排列功能重要性分数

类别: 特征选择模块

注意

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

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

模块概述

本文介绍如何使用机器学习 Studio (经典) 中的排列功能重要性模块来计算数据集的一组功能重要性分数。 使用这些分数有助于确定最适合在模型中使用的特征。

在此模块中,功能值随机随机打乱,一次一列,并且在前后测量模型的性能。 你可以选择提供的一个标准指标来衡量性能。

模块返回的分数表示经训练的模型在排列后的性能变化。 重要特征通常对混排过程更为敏感,因此将导致更高的重要性分数。

本文提供了有关在机器学习中排列特征重要性、理论基础及其应用程序的大致概述: 排列特征重要性

如何使用排列特征重要性

若要生成一组功能评分,需要具有已训练的模型以及测试数据集。

  1. 排列功能重要性 模块添加到试验中。 可以在“特征选择”类别中找到此模块

  2. 将经训练的模型连接到左输入。 模型必须是回归模型或分类模型。

  3. 在右侧输入中,连接一个数据集,最好是与用于定型模型的数据集不同的数据集。 此数据集用于根据定型模型进行评分,并用于在更改功能值后对模型进行评分。

  4. 对于 " 随机种子",请键入一个值,用作随机化的种子。 如果指定 0(默认值),将根据系统时钟生成一个数字。

    种子值是可选的,但是,如果想要跨同一次运行的可再现性,则应提供一个值。

  5. 对于 测量性能的指标,请选择在排列之后计算模型质量时要使用的单个度量值。

    机器学习 Studio (经典) 支持以下指标,具体取决于你是要评估分类还是使用回归模型:

    • 分类

      准确度、精度、召回率和平均对数损失

    • 回归

      精度,召回,平均绝对错误,根本平均平方误差,相对绝对错误,相对平方误差,确定系数

    有关这些评估指标和如何计算指标的更详细说明,请参阅 评估

  6. 运行试验。

  7. 模块输出功能列的列表和与它们关联的分数,按分数顺序排列,按降序排列。

示例

请参阅 Azure AI 库中的以下示例试验:

技术说明

本部分提供了实现的详细信息、提示以及常见问题的解答。

这与其他功能选择方法相比如何?

排列功能重要性:随机更改每个特征列的值、一次一列,然后计算模型。

排列特征重要性提供的排名通常与从 基于筛选器的特征选择中获得的排名不同,后者在创建模型 之前 计算分数。

这是因为排列功能的重要性不会度量功能和目标值之间的关联,而是捕获每个特征对模型预测的影响程度。

预期输入

名称 类型 说明
已训练模型 ILearner 接口 训练的分类或回归模型
测试数据 数据表 用于在排列特征值后对模型进行评分和评估的测试数据集

模块参数

名称 类型 范围 可选 默认 说明
随机种子 Integer >=0 必选 0 随机数生成器种子值
用于测量性能的指标 EvaluationMetricType 从列表中选择 必选 分类 - 准确性 选择计算模型的可变性后要使用的度量值

Outputs

名称 类型 说明
功能重要性 数据表 一个包含基于所选指标的特征重要性结果的数据集

例外

异常 描述
错误 0062 尝试将两个具有不同学习器类型的模型进行比较时,会出现异常。
错误 0024 如果数据集不包含标签列,将出现异常。
错误 0105 当模块定义文件定义了不支持的参数类型时引发
错误 0021 如果传递给模块的某些数据集的行数过少,将出现异常。

另请参阅

功能选择
基于筛选器的特征选择
主体组件分析