使用 Python SDK进行机器学习模型的指标计算
您可以通过编程方式监控、管理和治理机器学习模型。
使用 Pythonibm-watsonx-gov SDK计算评估指标并生成洞察。 您可以通过使用模块并将其集成到应用程序中来实现这些任务的自动化。 您也可以使用示例笔记本计算指标。 Python ibm-watsonx-gov SDK 同时支持机器学习模型和生成式人工智能资产。
您还可以使用 Pythonibm_watson_openscale SDK来评估机器学习模型。 Python ibm_watson_openscale SDK 为机器学习模型提供以下功能:
- 全面模型监控(质量、公平性、漂移、可解释性)
- 高级指标计算与评估
- 定制显示器创建与配置
- 详细有效负载日志记录与分析
- 历史数据注入与分析
Python ibm_watson_openscale SDK 支持以下机器学习模型的指标和解释算法。
FairScore 变压器
您可以将 FairScore 变换器作为后处理偏置缓解技术使用。 该技术将概率估计值或基于公平性目标的概率二元分类模型得分进行转换。 要使用 FairScore 转换器,您必须先训练一个Fair评分转换器。
个体公平后处理器
个体公平后处理器是一种后处理变换器算法,通过转换个体评分来实现个体公平性。 您可以结合 Python SDK使用该功能,以支持多类别文本分类。 在使用该算法转换模型输出之前,必须先对其进行训练。
输入减少
您可以使用输入减少算法来计算必须指定的最小特征集,以保持模型预测的一致性。 该算法排除了不影响模型预测的特征。
似然补偿
可能性补偿(LC)是一种解释黑箱模型预测结果与真实值偏差的框架。 通过测试数据和黑盒模型的预测功能,LC能够识别测试数据中的异常值,并解释导致样本成为异常值的原因。 LC解释以增量形式呈现,当将其添加到原始测试数据或异常值中时,可使模型的预测结果收敛至真实值。 LC提供局部解释,且仅支持回归模型。
本地可解释模型无关解释(LIME)
LIME通过分析多达5000个相邻数据点,确定对特定数据点而言最重要的特征。 在理想设置中,LIME 中具有高重要性的特征是对于该特定数据点最重要的特征。 您可以为包含结构化与非结构化数据特征的多模态数据模型生成LIME解释。 结构化数据可以包含数值型和分类型数据。 非结构化数据可以包含一个文本列。
平均个体差异
您可以使用平均个体差异来验证模型是否对相似样本生成相似的预测或评分。 该指标计算多类分类模型对相似样本概率估计值的差异。
多维子集扫描
您可以将多维子集扫描算法作为一种通用的偏置扫描方法使用。 该方法可检测并识别哪些特征子集对概率二元分类器具有统计学意义上的显著预测偏差。 该算法可帮助您确定哪些特征属于受保护属性,以及这些特征的哪些值属于监控评估中的特权组。
受保护属性的提取
受保护属性提取算法将文本数据集转换为结构化数据集。 该算法将文本数据进行分词处理,将数据与您指定的模式进行比对,并从文本中提取受保护的属性以生成结构化数据。 您可以使用这些结构化数据,通过偏见检测算法来识别针对受保护属性的偏见。
受保护属性提取算法仅支持性别作为受保护属性。
受保护属性的扰动
受保护属性扰动算法通过识别文本数据集中的受保护属性模式来生成反事实陈述。 它还会对文本进行分词处理,并对文本数据中的关键词进行扰动,从而生成语句。 您可以使用原始数据集和扰动数据集,通过偏差检测算法来检测针对保护属性的偏差。 受保护属性扰动算法仅支持性别作为受保护属性。
Protodash 说明文档
原型解释器从参考数据集中识别出需要解释的输入数据。 该方法通过最小化参考数据点与训练数据中选取的若干实例之间的最大均值差异(MMD)来实现。 为帮助您更好地理解模型预测结果,训练数据实例的分布与参考数据点保持相似。
夏普利加性解释器(SHAP)
SHAP是一种基于博弈论的方法,用于解释机器学习模型的输出结果。 它通过使用夏普利值及其相关扩展,将最优信用分配与局部解释相结合。
SHAP为每个模型特征在特定预测中分配一个重要性值,该值称为夏普利值。 夏普利值是特征值在所有可能特征组合中平均边际贡献的量度。 输入特征的SHAP值是基线或预期模型输出与当前模型输出之间差异的总和,该差异对应于正在解释的预测结果。 基线模型输出可基于训练数据的摘要,或任何需要生成解释的数据子集。
一组交易的夏普利值可进行组合,从而获得全局解释,这些解释能概览模型中哪些特征最为重要。 您可以为非结构化文本模型生成SHAP解释,以理解预测结果的机制。
平滑经验微分(SED)
SED是一种公平度量指标,可用于描述模型预测结果的公平性。 SED量化了因特征差异而划分的交叉群体之间,其有利与不利结果概率的差异。 所有相交群体皆平等,故不存在无特权或有特权的群体。 该计算得出的SED值,是数据集中相交群体间有利与不利结果的狄利克雷平滑概率的最小比值。 该值范围为0-1(不包含0和1),数值越大表示结果越好。