3.10.7 ML_EXPLAIN_TABLE

ML_EXPLAIN_TABLE 解释整个未标记数据表的预测并将结果保存到输出表。

ML_EXPLAIN_TABLE 是一个计算密集型过程。建议通过将大表拆分为较小的表来将操作限制为 10 到 100 行的批次。

ML_EXPLAIN_TABLE 将解释限制为 100 个最相关的特征。

需要加载模型才能运行 ML_EXPLAIN_TABLE。请参阅第 3.9.3 节,“加载模型”

ML_EXPLAIN_TABLE 语法

CALL sys.ML_EXPLAIN_TABLE(table_name, model_handle, output_table_name, options);

ML_EXPLAIN_TABLE 参数:

  • table_name:指定输入表的完全限定名称 ( schema_name.table_name)。输入表应包含与用于训练模型的表相同的特征列,但不包含目标列。

  • model_handle:指定模型句柄或包含模型句柄的会话变量。

  • output_table_name: 指定存储说明数据的表。如果表不存在,则创建该表。必须指定完全限定的表名 ( schema_name.table_name)。如果该表已经存在,则返回错误。

  • optionsJSON_OBJECT(): 可选参数,格式为键值对 。如果未指定选项,则使用默认设置。可用的选项是:

    • prediction_explainer:您使用 为该模型训练的预测解释器的名称 ML_EXPLAIN。有效值为:

      • permutation_importance:默认预测解释器。

      • shap:SHAP 预测解释器,它根据 Shapley 值生成全局特征重要性值。

语法示例

  • 以下示例生成数据表的解释。该 ML_EXPLAIN_TABLE 调用指定要为其生成解释的表的完全限定名称、包含模型句柄的会话变量以及完全限定的输出表名称。该SELECT 语句从输出表中检索解释数据。

    CALL sys.ML_EXPLAIN_TABLE('ml_data.iris_test', @iris_model, 
    'ml_data.iris_explanations');
    
    SELECT * FROM ml_data.iris_explanations;
  • ML_EXPLAIN_TABLE 使用排列重要性预测解释器 运行 :

    CALL sys.ML_EXPLAIN_TABLE('ml_data.`iris_test_temp`', @model, 
    'ml_data.`iris_explanations`', JSON_OBJECT(
    'prediction_explainer', 'permutation_importance'));