ML_PREDICT

ML_PREDICT函数用于预测结构化数据,常见于分类、回归等传统机器学习任务。

命令格式

STRING|STRUCT ML_PREDICT(<model_name>, <version_name>, col1,col2,...);

参数说明

  • model_name:必填。待使用的模型名,支持模型的model_typeBOOSTED_TREE_REGRESSORBOOSTED_TREE_CLASSIFIER

  • version_name:必填。待使用的模型版本名。如果调用默认version,支持直接输入DEFAULT_VERSION

  • col1,col2,...:必填。参与预测的输入列。其类型、顺序及个数必须和模型定义时保持一致,否则会报错。

返回值说明

  • 当模型model_typeBOOSTED_TREE_REGRESSOR(回归模型)时,返回STRING类型的结果列,作为模型的预测结果。

  • 当模型model_typeBOOSTED_TREE_CLASSIFIER(分类模型)时,返回STRUCT类型的结果列,具体格式为STRUCT<label:STRING, probs:ARRAY(prob:FLOAT)>,其中

    • STRUCT的第一个字段label,代表本行数据预测的分类结果。

    • STRUCT的第二个字段probs,代表每类结果预测的概率值。

使用示例

  • 示例1:调用已经创建好的名为demo_model_xgboost_regressorXGBoost回归模型,如暂未创建,需先创建模型,详细步骤参考场景实践:使用MaxCompute进行XGboost模型训练和预测,创建完成后,按照如下示例,输入对应的要预测的数据。

    SELECT ML_PREDICT(demo_model_xgboost_regressor,v01,0.22438f,0f,9.69f,0,0.585f,6.027f,79.7f,2.4982f,6.123f,391f,19.2f,14.33f);
    -- 返回20.03961。
  • 示例2:调用已经创建好的名为test_xgboost_classifierXGBoost分类模型,如暂未创建,需先创建模型,示例请参考创建与删除模型,输入对应的要预测的数据。

    SELECT ML_PREDICT(test_xgboost_classifier,v1,1,2,3,4);
    -- 返回{label:0, probs:[0.9266666, 0.03781649, 0.03551693]}。