跳转到内容

ML:评分步骤使用由 ML:训练模型训练的模型对数据表进行评分,并写出追加了一个预测列的数据。由于模型是以普通表的形式传入的,因此可以训练一次、评分多个表,也可以在新数据到达时重新评分。该步骤作为受管的 PlaidCloud 作业运行(与 LLM 步骤相同)。

模型工件来自 ML 训练新行仅含特征评分应用模型行 + 预测新列
ML 评分将已保存的模型应用于仅含特征的新行,并为每一行追加一个预测列。
  • 数据表——要评分的表。它必须包含模型训练时使用的每个特征列。
  • 模型表——由 ML:训练模型步骤写出的模型表。如果该表为空,或存储的模型缺少任何部分,步骤将失败。
  • 输出表——写入评分后数据的位置。
  • 预测列——追加列的名称。留空则使用 prediction。如果数据表中已存在该名称,步骤将失败。

输出表包含数据表的所有列,外加预测列:分类器为文本类别标签,回归器为数值。特征值的处理方式与训练时完全一致,模型在训练期间从未见过的分类值会被忽略,而不会导致错误。

模型表必须具有 ML:训练模型步骤所写出的结构——完整的模型列集合、已知的算法,以及存储的模型的每个部分都存在。模型本身是在限制条件下加载的,该限制会拒绝标准科学计算库之外的任何内容,因此手工构造的模型行无法运行任意代码。

评分选项部分包含以下字段。转换后的 KNIME 工作流也会使用它们。

  • 类别概率列(probability_column_template)——对于分类器,为每个类别追加一个概率列,列名由此模板生成,其中的 {class} 会被替换。概率置于预测之前(probabilities_first)会将这些列放在预测列之前,按类别在训练中首次出现的顺序排列(classes_in_domain_order)则按类别在训练数据中首次出现的顺序排列,而不是按排序后的顺序。
  • 置信度列(confidence_column)——对于分类器,以此名称追加获胜类别的概率。
  • 方差列(variance_column)——对于森林回归器,以此名称追加各棵树预测值的方差。
  • 模型数量列(model_count_column)——对于树模型,以此名称追加树的数量。
  • 追加列的顺序(column_order)——追加列的顺序。留空:预测、概率、置信度、方差,然后是模型数量。
  • 改为写入(report)——写出模型自身的某个表,而不是评分后的数据,例如 variable_importance、coefficients、statistics、pmml(以 PMML 文档形式表示的模型)、centers、cluster_counts 或 association_rules。
  • 模型格式(model_format)——pmml 使用 PMML 文档进行评分:模型表保存该文档,或保存具有 PMML 形式的学习器的模型。
  • 算法设置(algorithm_settings)——特定于模型算法的评分或报告设置,例如 pca 模型投影到的成分数量。
  • 第三个表(source_c)——某些算法会读取的第三个表,例如 knn_distance 模型使用的随机森林。

AI 助手或 REST API 还可以将 report 设置为 shap_values。

  • 内存中的工作集——数据表会被读入内存,因此该步骤的目标规模约为每次运行一百万行。
  • 转换后的 Alteryx 工作流——转换后的 Predict 工具会将预测列固定为目标变量的名称,并加上 _predicted 后缀。