HeatWave ML 将机器学习模型存储在 MySQL 的模型目录中。模型目录是一个标准的 MySQL 表,名为
MODEL_CATALOG
. HeatWave ML 为创建机器学习模型的任何用户创建模型目录。
该MODEL_CATALOG
表是在名为 的模式中创建的
,其中
是拥有者的名称。
ML_SCHEMA_
user_name
user_name
当用户创建模型时,
ML_TRAIN
例程会创建模型目录架构和表(如果它们不存在)。
在训练结束时
ML_TRAIN
将模型作为一行插入
表中。MODEL_CATALOG
模型目录只能由所有者用户访问,除非该用户将模型目录的权限授予其他用户。这意味着 HeatWave ML 例程只能使用运行例程的用户可以访问的模型。有关授予模型目录权限的信息,请参阅 第 3.9.10 节,“共享模型”。
数据库管理员可以像管理常规 MySQL 表一样管理模型目录表。
该MODEL_CATALOG
表包含以下列:
-
model_id
模型的唯一自动递增数字标识符。
-
model_handle
模型的名称。模型句柄在模型目录中必须是唯一的。
ML_TRAIN
当例程在训练数据集上执行时,模型句柄由用户生成或设置 。生成的model_handle
格式为schemaName_tableName_userName_No
,如以下示例所示: .heatwaveml_bench.census_train_
user1
_1636729526笔记生成的模型句柄的格式可能会发生变化。
-
model_object
JSON 格式的字符串,包含序列化的 HeatWave ML 模型。
-
model_owner
启动
ML_TRAIN
例程以创建模型的用户。 -
build_timestamp
指示模型创建时间的时间戳(以 UNIX 纪元时间表示)。当
ML_TRAIN
例程完成执行时,将创建一个模型。 -
target_column_name
训练表中指定为目标列的列的名称。
-
train_table_name
ML_TRAIN
例程 指定的输入表的名称 。 -
model_object_size
模型对象大小,以字节为单位。
-
model_type
为构建模型而选择的模型(算法)类型
ML_TRAIN
。 -
task
查询中指定的任务类型
ML_TRAIN
(classification
或regression
)。 -
column_names
用于训练模型的特征列。
-
model_explanations
训练期间生成的模型解释。请参阅 第 3.9.7 节,“模型说明”。此列是在 MySQL 8.0.29 中添加的。
-
last_accessed
上次访问模型的时间。HeatWave ML 例程在访问模型时将此值更新为当前时间戳。
-
model_metadata
模型的元数据。如果在训练过程中发生错误或您取消训练操作,HeatWave ML 会在此列中记录错误状态。此列是在 MySQL 8.0.31 中添加的。它包含以下元数据作为 JSON 格式的键值对:
-
status: Creating | Ready | Error
模型的状态。
Creating
表示它仍在创建中,Ready
表示它已经过训练并处于活动状态,Error
表示训练已取消或期间发生错误。任何错误消息都会出现在notes
列中。-
training_score:
number
通过训练为模型获得的交叉验证分数。
-
n_rows:
number
训练表中的行数。
-
n_columns:
number
训练表中的列数。
-
optimization_metric:
string
用于训练的优化指标。
-
n_selected_columns:
number
特征选择选择的行数。
-
algorithm_name:
number
所选算法的名称。
-
n_selected_rows:
number
自适应采样选择的行数。
-
training_time:
number
训练模型所用的时间(以秒为单位)。
-
selected_column_names:
JSON array
特征选择所选择的列的名称。
-
format:
string
模型序列化格式。
-
-
notes
使用此列记录您自己对训练模型的注释。它还用于存储模型训练期间出现的错误消息。