IBM 机器学习框架

在评估机器学习模型时,您可以使用 IBM Watson Machine Learning 来执行有效载荷日志记录、反馈日志记录,并测量性能准确性、运行时偏差检测、漂移检测、可解释性,以及自动去偏功能。

以下 IBM Watson Machine Learning 框架可用于评估机器学习模型:

表 1. 框架支持详细信息

框架支持详细信息
框架 问题类型 数据类型
AutoAI1 分类(二元和多类) 结构化(数据,文本)
AutoAI 回归 结构化或非结构化2(仅限文本)
Apache Spark MLlib 分类 结构化或非结构化2(仅限文本)
Apache Spark MLLib 回归 结构化或非结构化2(仅限文本)
Keras 使用 T ensor Flow 3 和 4 分类 非结构化2(图像,文本)
Keras 使用 T ensor Flow 3 和 4 回归 非结构化2(图像,文本)
Python 函数 分类 结构化(数据,文本)
Python 函数 回归 结构化(数据,文本)
sc ikit-learn5 分类 结构化(数据,文本)
scikit-learn 回归 结构化(数据,文本)
X GBoost6 分类 结构化(数据,文本)
XGBoost 回归 结构化(数据,文本)

1 如需进一步了解 AutoAI, ,请参阅 AutoAI 中的实现细节。 对于训练数据位于 Cloud Object Storage 中的模型,不支持布尔类型的公平性属性。 但是,如果训练数据采用 Db2 格式,模型评估将支持布尔类型的公平性属性。 使用 AutoAI 选项时,如果模型预测结果为二进制数据类型,则不支持模型评估。 您必须更改此类模型,以便其预测的数据类型为字符串数据类型。

2非结构化(图像或文本)数据类型不支持公平性和漂移度量。

3Keras 支持不包括对公平性的支持。

4如果模型/框架输出预测概率,那么支持可解释性。

5. 要在笔记本中生成漂移检测模型,必须使用 scikit-learn 版本 1.3.2。

6 对于 XGBoost 二分类和多分类模型,您必须更新模型,使其以数值形式返回二分类模型的预测概率,或以每类概率列表的形式返回多分类模型的预测概率。 对于分类问题,对 XGBoost 框架的支持存在以下限制:在二元分类中,模型评估仅支持输出为 True 概率的逻辑回归 binary:logistic 函数。 对于多分类任务,模型评估支持使用该 multi:softprob 函数,其结果包含每个数据点属于各类别的预测概率。

原生 XGBoost 模型的 XGBoost 订阅限制

在最新版本 WML 中,该 xgboost_0.82 框架已被废弃。 支持的框架是 xgboost_0.90,必须与 Python 3.7 配合使用。 要启用并保留 XGBoost 版本 0.90 和 Python 3.7 ,您必须通过运行以下命令对订阅进行修补:

PATCH /v2/subscriptions/<subscription_id>

例如,以下命令将返回完整的 URL 和订阅ID:

PATCH https://namespace.apps.server.company.com/openscale/00000000-0000-0000-0000-000000000000/v2/subscriptions/18bbe3f9-c550-44e7-b948-675bafcb1c63

返回了预期的有效载荷:

[{
    "op": "replace",
    "path": "\/asset\/runtime_environment",
    "value": "xgboost_0.90"
}]

订阅成功修补且评分完成后,输出数据模式将设置正确的建模角色:

{
	"metadata": {
		"modeling_role": "class_probability"
	},
	"name": "prediction",
	"nullable": true,
	"type": "double"
}, {
	"metadata": {},
	"name": "probability",
	"nullable": true,
	"type": "double"
}, {
	"metadata": {
		"modeling_role": "prediction-probability"
	},
	"name": "prediction_probability",
	"nullable": true,
	"type": "double"
}, {
	"metadata": {
		"modeling_role": "prediction"
	},
	"name": "scoring_prediction",
	"nullable": true,
	"type": "integer"
}

AutoAI 模型和训练数据

AutoAI 自动处理数据、应用算法或估计器,并构建最适合您的数据和使用场景的模型管道。 为了对模型进行评估分析,必须能够访问训练数据。

由于在评估 AutoAI 模型时无法像评估常规模型那样自动检测训练数据的位置,因此您必须明确提供访问训练数据位置所需的详细信息:

  • 对于需要手动配置监控器的在线路径,您必须提供可用于访问训练数据的数据库详细信息。
  • 对于在其中上载训练数据分发的定制笔记本路径,可以使用通过运行笔记本而生成的 JSON 文件。

如需更多信息,请参阅 “提供模型详细信息 ”。

指定 IBM Watson Machine Learning 服务实例

配置模型评估的第一步是指定一个 ` IBM ` Watson Machine Learning 实例。 您的 Machine Learning 实例是用于存储 AI 模型和部署的场所。

先决条件

您应在与模型评估服务实例位于同一账户或集群中,预先配置好一个 IBM Watson Machine Learning 实例。 如果您已在其他账户或集群中部署了 IBM Watson Machine Learning 实例,则无法为该实例配置模型评估的自动有效载荷日志记录功能。

连接您的 Machine Learning 服务实例

您可以连接到 IBM Watson Machine Learning 实例中的 AI 模型和部署,以进行模型评估。 要连接您的服务,请转到 “配置 “配置”选项卡图标 ”选项卡,添加一个机器学习提供商,然后点击 “编辑 编辑图标 ”图标。 除了提供名称和描述并指定是预生产还是生产环境类型外,还必须提供特定于此类型服务实例的以下信息:

  • 如果您拥有一个 IBM Watson Machine Learning 的实例,系统将检测到该实例及其配置信息。

  • 若要在独立的 IBM Cloud Pak for Data 实例上连接到 IBM Watson Machine Learning ,请提供 URL、用户名和 API 密钥。

  • 要连接到 IBM Cloud 上的 IBM Watson Machine Learning ,请提供云区域和 API 密钥。

IBM Cloud Pak for Data 仅允许使用一个 API 密钥。 当您生成新的 API 密钥时,之前的 API 密钥将自动失效。 如果您在 IBM Cloud Pak for Data 中更新了 API 密钥,也必须在 Watson OpenScale 中更新该 API 密钥。

限制

在单独的 IBM Cloud Pak for Data 实例上连接到 IBM Watson Machine Learning 时,适用以下限制:

  • 该 API 密钥必须拥有 IBM Watson Machine Learning 中部署空间的管理员访问权限。
  • 不支持自动有效载荷记录。 使用 Watson OpenScale 数据集API发送有效载荷日志。

当您通过 IBM Cloud 连接到 IBM Watson Machine Learning 时,将受到以下限制:

  • 该 API 密钥必须拥有 IBM Watson Machine Learning 中部署空间的管理员访问权限。
  • 不支持自动有效载荷记录。 使用 Watson OpenScale 数据集API发送有效载荷日志。
  • 在评估过程中,您在 IBM Cloud 上运行的 IBM Watson Machine Learning 模型的负载会增加。