知识卡片

SQLFlow用SQL扩展语法封装机器学习流程

普通读书笔记卡 · 1069

内容

SQLFlow把机器学习训练/预测流程用SQL语法扩展描述:SELECT指定数据来源,TRAIN/PREDICT声明训练还是预测,WITH携带超参数,COLUMN/LABEL指定特征列和标签列,INTO指定结果存哪张表。SELECT部分照常透传给数据引擎执行,TRAIN/WITH部分被解析生成对应Python训练代码,让懂SQL的人不写代码也能跑通端到端机器学习任务。

参考来源

- 位置:《数据科学工程实践》第10章《SQLFlow》"10.1.3 SQLFlow的工作原理"一节(源文件:_epub-src/OEBPS/Text/part0056.xhtml) - 结论依据:原文以Iris训练语句为例,明确"SELECT语句传递给对应数据引擎获取数据,而TRAIN和WITH语句则分别指定了使用的模型种类、模型结构和训练所需的超参数,COLUMN和LABEL部分分别用于训练的各特征列名称和标签列名称",并说明"SQLFlow将TRAIN和WITH语句中的内容解析为对应的Python程序"。 - 原始内容:SELECT * FROM iris.train TO TRAIN DNNClassifer WITH hidden_units = [10, 10], n_classes = 3, EPOCHS = 10 COLUMN sepal_length, sepal_width, petal_length, petal_width LABEL class INTO sqlflow_models.my_dnn_model; SQLFlow解析接收到的SQL命令,其中SELECT语句传递给对应数据引擎获取数据,而TRAIN和WITH语句则分别指定了使用的模型种类、模型结构和训练所需的超参数,COLUMN和LABEL部分分别用于训练的各特征列名称和标签列名称。SQLFlow将TRAIN和WITH语句中的内容解析为对应的Python程序。