重要说明:

IBM Cloud Pak® for Data 4.8 版本将于 2025 年 7 月 31 日结束支持(EOS)。 欲了解更多信息,请参阅 IBM Cloud Pak for Data 版本 4.X 的停止服务公告
在 版本支持结束之前,升级到 版本。 IBM Cloud Pak for Data 4.8 IBM Software Hub 5.1 有关更多信息,请参阅从 IBM Cloud Pak for Data 版本 4.8 升级到 IBM Software Hub 版本 5.1

使用 Python SDK 进行度量值计算

Python SDK 是一个 Python 库,您可以在其中直接使用 Watson OpenScale 服务。 您可以使用 Python SDK 来绑定机器学习引擎,配置日志记录数据库以及选择和监视部署。

Watson OpenScale 服务支持计算以下公平性指标和解释算法:

注:

以下指标和算法可在笔记本运行时环境中计算,或作为 Spark 作业卸载到 IBM Analytics Engine。


FairScore 变压器

您可以使用 FairScore 变换器作为后处理偏差缓解方法。 此方法转换概率估计或概率二元分类模型中有关公平性目标的评分。 要在 Watson OpenScale中使用 FairScore Transformer ,必须训练一般分数变换器。



个人公平性后处理程序

个体公平后处理器是一种后处理变换器算法,用于变换个体分数以实现个体公平。 您可以将其与 Python SDK 配合使用,以支持多类文本分类。 必须先训练此算法,然后才能将其用于变换模型输出。



输入缩减

您可以使用输入降维算法来计算为使模型预测保持一致而必须指定的最小特征集。 该算法会排除不影响模型预测的特征。



似然补偿

似然补偿 (LC) 是一个框架,用于解释黑匣模型预测与参考真理的偏差。 通过测试数据和黑匣子模型的预测功能, LC 可以识别测试数据中的异常,并解释导致样本成为异常的原因。 LC 解释以增量提供,当添加到原始测试数据或异常时,会将模型的预测收敛到参考标准。 LC 提供局部解释,并且仅支持回归模型。



本地可解释模型-不可知解释 (LIME)

LIME 通过分析多达 5000 个其他近距离数据点,确定哪些特征对特定数据点最重要。 在理想的情况下,LIME 中重要性高的特征是对于该特定数据点最重要的特征。 对于 Cloud Pak for Data 4.8.3 或更高版本,您可以为具有包含具有结构化和非结构化数据的功能的多模态数据的模型生成 LIME 解释。 结构化数据可以包含数字和分类数据。 非结构化数据可以包含一个文本列。



平均个体差异

您可以使用平均个体差异来验证模型是否为相似样本生成相似的预测或评分。 此度量值计算相似样本的多类分类模型的概率估计差异。



多维子集扫描

您可以使用多维子集扫描算法作为常规偏差扫描方法。 此方法检测并识别哪些特征子组具有概率二元分类器的统计学显着预测偏差。 此算法可帮助您确定哪些功能部件是受保护属性,哪些功能部件的值是监视器评估的特权组。



性能度量

您可以使用以下性能度量指标,通过使用参考标准数据和来自样本数据的模型预测计算的混淆矩阵来评估模型:

  • 平均赔率差
  • 平均差值
  • 差错率
  • 错误率
  • false_Negtive_rate_difference
  • false_Negtive_rate_ratio
  • 假阳性率差异
  • 假阳性率
  • 错误发现率差异
  • 错误发现率比例
  • 误差率
  • 误差率


受保护属性抽取

受保护属性抽取算法将文本数据集转换为结构化数据集。 该算法会对文本数据进行记号化,将数据与您指定的模式进行比较,并从文本中抽取受保护属性以创建结构化数据。 您可以使用此结构化数据通过 Watson OpenScale 偏差检测算法针对受保护属性检测偏差。 受保护属性抽取算法仅支持将性别作为受保护属性。



受保护属性扰动

受保护属性扰动算法通过识别文本数据集中的受保护属性模式来生成反事实语句。 它还会对文本进行记号化,并扰动文本数据中的关键字以生成语句。 您可以使用原始数据集和扰动数据集,通过 Watson OpenScale 偏差检测算法针对保护属性检测偏差。 受保护属性扰动算法仅支持将性别作为受保护属性。



Protodash 解释器

原型解释器可识别需要解释的参考集中的输入数据。 此方法使参考数据点与从训练数据中选择的多个实例之间的最大平均差异 (MMD) 最小化。 为了帮助您更好地了解模型预测,训练数据实例会模拟与参考数据点相似的分布。

注: 仅结构化分类模型支持 Protodash 说明。


Shapley 添加剂解释器 (SHAP)

SHAP 是一种博弈论方法,用于解释机器学习模型的输出。 它通过使用 Shapley 值及其相关扩展将最优信用分配与本地解释连接起来。

SHAP 为每个模型特征分配一个特定预测的重要性值,称为 Shapley 值。 莎普利值是特征值在所有可能的特征组中的平均边际贡献。 输入特征的 SHAP 值是基线或预期模型输出与正在说明的预测的当前模型输出之间的差值总和。 基线模型输出可以基于训练数据的摘要或必须为其生成说明的任何数据子集。

可以组合一组事务的 Shapley 值以获取全局解释,这些解释提供了模型的哪些特征最重要的概述。 对于 Cloud Pak for Data 4.8.3 或更高版本,您可以为非结构化文本模型生成 SHAP 说明,以了解如何预测结果。



平滑经验微分 (SED)

SED 是可用于描述模型预测的公平性的公平性指标。 SED 量化了按特征划分的交叉组之间有利和不利结果概率的差值。 所有相交的群体都是平等的,因此不存在无特权或特权群体。 此计算生成的 SED 值是数据集中交叉组之间有利和不利结果的 Dirichlet 平滑概率的最小比率。 该值在 0-1 范围内 (不包括 0 和 1) ,较大的值指定更好的结果。



统计奇偶差异

统计奇偶性差异是可用于描述模型预测的公平性的公平性度量。 它是在无特权群体和特权群体中有利结果的比率之间的差异。 可以根据输入数据集或来自分类器或预测数据集的数据集输出来计算此度量。 值 0 表示这两个组都将获得同等权益。 小于 0 的值意味着特权组的收益更高。 大于 0 的值意味着对非特权组的收益更高。


您可以使用 Watson OpenScale Python SDK V 3.0.14 或更高版本来计算这些度量和算法。 有关更多信息,请参阅 Watson OpenScale Python SDK 文档

您还可以使用样本 Notebook 来计算 公平性指标可解释性

父主题: API , SDK 和教程