SQLML是MaxCompute提供的应用机器学习能力的SQL语言入口。MaxCompute SQLML在底层依赖机器学习PAI平台做模型创建、预测、评估等操作。本文为您介绍SQLML的功能、支持的机器学习模型、支持的预测模型函数和评估模型函数。

功能介绍

MaxCompute SQLML功能依赖MaxCompute和 机器学习PAI阿里云产品。您可以通过客户端开发MaxCompute SQLML作业,基于机器学习PAI对MaxCompute上的数据进行学习,并利用机器学习模型对数据进行预测,进而为业务规划提供指导。其中:

MaxCompute SQLML可以帮助数据开发工程师、分析师和数据科学家,使用SQL语言创建、训练和应用机器学习模型。同时助力SQL从业人员利用现有的SQL技能就可以应用机器学习,无需做数据迁移,实现机器学习的能力。

使用说明

MaxCompute SQLML功能的使用流程如下:
  1. 开通MaxCompute、DataWorks(基础版)及机器学习PAI服务(PAI(Studio、DSW、EAS)后付费)。
  2. 准备数据集

    用于模型训练、预测的数据信息。

  3. 创建或配置DataWorks工作空间,选择计算引擎服务为MaxCompute,选择机器学习服务为PAI Studio
  4. 通过DataWorks创建待导入数据集信息的表并导入数据。
  5. 对导入的数据按照模型要求进行处理,并创建训练数据集和测试数据集。训练数据集用于模型训练,测试数据集用于预测。
  6. 创建机器学习模型,并通过MaxCompute提供的预测模型函数进行预测。
  7. 通过MaxCompute提供的评估模型函数评估预测结果的准确性。

快速使用示例请参见快速入门

支持的机器学习模型

MaxCompute SQLML当前支持如下机器学习模型:
  • 逻辑回归二分类:模型名称为logisticregression_binary。更多信息,请参见逻辑回归二分类
  • 逻辑回归多分类:模型名称为logisticregression_multi。更多信息,请参见逻辑回归多分类
  • 线性回归:模型名称为linearregression。更多信息,请参见线性回归

支持的预测模型函数

MaxCompute SQLML当前支持的预测模型函数为 ml_predict,语法格式如下:
ml_predict(model <model_name>, table <data_source>[, map<string, string> <parameters>])
  • model_name:必填。新建的模型名称。
  • data_source:必填。用于预测的数据,可以为表或一条SELECT语句。
  • parameters:可选。用于预测的参数,参数和机器学习PAI平台的参数一致,请参见逻辑回归二分类逻辑回归多分类线性回归

支持的评估模型函数

MaxCompute SQLML当前支持如下评估模型函数,用于评估预测结果的准确性:
  • 二分类评估:通过内建函数ml_evaluate实现。支持计算AUC、KS及F1 score等。语法格式如下:
    ml_evaluate(table <data_source>[, map<string, string> <parameters>])
  • 多分类评估:通过内建函数ml_multiclass_evaluate实现。基于模型的预测结果和原始结果,评价多分类算法模型的优劣,指标包括Accuracy、kappa、F1-Score等。语法格式如下:
    ml_multiclass_evaluate(table <data_source>[, map<string, string> <parameters>])
  • 线性回归评估:通过内建函数ml_regression_evaluate实现。基于模型的预测结果和原始结果,评价回归算法模型的优劣,包含指标和残差直方图。其中:指标包括SST、SSE、SSR、R2、R、 MSE、RMSE、MAE、MAD、MAPE、count、yMean和predictMean。语法格式如下:
    ml_regression_evaluate(table <data_source>[, map<string, string> <parameters>])
上述语法格式中:
  • data_source:必填。待评估的数据。需要包含label结果和prediction result,可以为表或一条SELECT语句。
  • parameters:可选。预测的参数,参数和机器学习平台PAI平台的参数一致,请参见逻辑回归二分类逻辑回归多分类线性回归