ML_EXPLAIN_TABLE
解释整个未标记数据表的预测并将结果保存到输出表。
ML_EXPLAIN_TABLE
是一个计算密集型过程。建议通过将大表拆分为较小的表来将操作限制为 10 到 100 行的批次。
ML_EXPLAIN_TABLE
将解释限制为 100 个最相关的特征。
需要加载模型才能运行
ML_EXPLAIN_TABLE
。请参阅第 3.9.3 节,“加载模型”。
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
)。如果该表已经存在,则返回错误。-
options
JSON_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'));