SQLML是MaxCompute提供的应用机器学习能力的SQL语言入口。MaxCompute SQLML在底层依赖机器学习PAI平台做模型创建、预测、评估等操作。本文为您介绍SQLML的功能、支持的机器学习模型、支持的预测模型函数和评估模型函数。
功能介绍
MaxCompute SQLML功能依赖MaxCompute和机器学习PAI阿里云产品。您可以通过客户端开发MaxCompute SQLML作业,基于机器学习PAI对MaxCompute上的数据进行学习,并利用机器学习模型对数据进行预测,进而为业务规划提供指导。其中:
- MaxCompute:提供应用机器学习能力的SQL语言入口SQLML。
- 客户端:SQL语言操作平台,您可以自行选择DataWorks(推荐)、MaxCompute SDK(Java SDK或Python SDK)、MaxCompute客户端(odpscmd)或MaxCompute Studio。
- 机器学习PAI:提供机器学习模型。
MaxCompute SQLML可以帮助数据开发工程师、分析师和数据科学家,使用SQL语言创建、训练和应用机器学习模型。同时助力SQL从业人员利用现有的SQL技能就可以应用机器学习,无需做数据迁移,实现机器学习的能力。
使用说明
MaxCompute SQLML功能的使用流程如下:
- 开通MaxCompute、DataWorks(基础版)及机器学习PAI服务(PAI(Studio、DSW、EAS)后付费)。
- 准备数据集
用于模型训练、预测的数据信息。
- 创建或配置DataWorks工作空间,选择计算引擎服务为MaxCompute,选择机器学习服务为PAI Studio。
- 通过DataWorks创建待导入数据集信息的表并导入数据。
- 对导入的数据按照模型要求进行处理,并创建训练数据集和测试数据集。训练数据集用于模型训练,测试数据集用于预测。
- 创建机器学习模型,并通过MaxCompute提供的预测模型函数进行预测。
- 通过MaxCompute提供的评估模型函数评估预测结果的准确性。
快速使用示例请参见快速入门。
支持的机器学习模型
支持的预测模型函数
支持的评估模型函数
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>])