Products
GG网络技术分享 2026-04-16 13:13 0
老实说发现像Byzer还有阿里的SQLFlow,这些项目居然真的在尝试基于SQL语言去实现一些机器学习算法。
虽然真正用过这些工具的朋友可能还是少数,大多数人——包括我认识的一些同事朋友——几乎都是直接调用Python的sklearn来实现一些简单的机器学习功能。毕竟现在调库调参就能快速实现功能,谁还愿意去底层手撕数学算法写完整个实现过程呢?这确实大大降低了机器学习的门槛,但也让我们变得懒惰了,本质上...。

又爱又恨。 不过既然有人能做,那我们是不是也能折腾一下?我的初步想法其实很简单, 甚至有点粗暴:如果能够解析传输的SQL语句,能够解析其中的数据和想要实现的一些机器学习算法和参数,那么即可调用sklearn功能。这是我的初步想法, 当然之前进行的sqlparse解析也是承担了相当大的功能,可以将如今这个目标做一些初步的攀登了。这听起来是不是有点像是在用大炮打蚊子?但不管怎么说这是一个值得探索的方向。
你想想看,对于很多数据分析师或者大数据工程师让他们去学Python,去理解什么是Class,什么是Instance,这简直是一种折磨。他们最熟悉的还是SQL。如果我们能够解析SQL语句的话, 就不用去限定SQL语句要如何编写了这样一来使用SQL的数据分析师或者是大数据工程师都可以很好的使用这个功能, 是吧? 不用再花费其他学习成本去学习另一种新的语言。那么这里我们很容易想到这个系统最主要的功能在于这个SQL解析, 再说说的目标是需要将参数传入sklearn的,所以呢解析整个SQL将是关键。
我的初期构建想法可能相对比较简单,简单的来说分为五步。虽然这五步现在听起来还有点模糊,但大体的轮廓是有的。如果我们想要实现基于SQL语言的机器学习分析,那么先说说我个人感觉应该与平台化系统差不多。应该可以作为一个函数去实现,不忍卒读。。
为了显得我们不是在瞎折腾,我特意找了一些市面上现有的工具来对比一下。虽然我们做出来的东西可能很简陋,但至少得知道人家做到了什么程度, 内卷。 对吧?看看下面这个表格,你会发现大家都在往这个方向努力,虽然路子不太一样。
| 工具名称 | 开发/维护方 | 核心特点 | 支持语言/ | 适用场景 |
|---|---|---|---|---|
| SQLFlow | 阿里巴巴 | 将SQL语句翻译为深度学习程序, 支持多种后端 | SQL, Python | 复杂模型训练,推荐系统 |
| Byzer | Byzer社区 | 类SQL语法,强于数据清洗和模型管理 | Byzer SQL | 数据中台,批处理 |
| MADlib | Pivotal/Apache | 基于PostgreSQL/Greenplum的内置库 | SQL | 传统统计分析,回归分类 |
| BigQuery ML | 直接在数据仓库中使用SQL创建模型 | Standard SQL | 云端大数据分析 | |
| H2O.ai | H2O.ai | 支持SQL接口的自动机器学习平台 | SQL, R, Python | 企业级AutoML |
看到了吧?这表格里的东西都挺唬人的。特别是BigQuery ML,直接在云端就把事儿给办了。我们虽然做不到那么好,但是我们可以模仿这种思路,哪怕只是做一个简陋的Demo呢?
今天先来看一些high level的内容,看看深度学习近期的最近进展以及其在机器视觉问题中的应用.所以呢,用自然语言的描述来测试对图片的理解是比较好的方式.从 Word2Vec 到 Sent2Vec:Deep Structured Semantic Model ,虽然我们不知道该如何标记一个句子的语义,但我们知道哪些句子的语义是比较接近的,所以呢文章通过优化一个基于相似性的目标函数来训练模型,使具有相近语义的句子产生距离。 物超所值。 这些听起来很高大上的理论,其实如果我们能把接口封装好,也是可以通过SQL来调用的。
机器学习已广泛应用于数据挖掘、 计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人等领域.而基于仿生学、认知心理学,以及基于概率论和经济学的算法等等也在逐步探索当中.相反在英文领域,深度学习的搜索关注度直到2013年后才开始逐步提升.这说明什么?说明这东西火是最近才火的,我们现在上车还不算太晚,哪怕是用SQL这种“老古董”来开这辆“新车”。
而他们的研究方向,则全部都是机器学习的子类--深度学习.其实吧,学习机器学习不仅可以帮助我们了解互联网界最新的趋势,一边也可以知道伴随我们的便利服务的实现技术.如果你想了解机器学习的更多知识以及与它关联紧密的当代技术,那么请你继续往下看,后面有更多的丰富的内容.比如adeDISC支持主流的机器学习框架, 如TensorFlow、PyTo... 收藏 6 Lama Cleaner 是基于 SOTA深度学习模型的图像修复工具,完全支持本地部署,支持 CPU GPU,歇了吧...。
特性完全免费、 开源支持自托管提供多个 SO... 收藏 20 Gradio 是一个开源的 Python库,用于构建机器学习和数据科学演示 和 Web应用。有了 Gradio, 你可以围绕你的机器学... 这些工具虽然现在看起来跟SQL没啥关系,但只要数据能流得通,再说说都能整合在一起。
第二步就是关键所在了 如何去解析整个SQL语句,而且最好是能够直接在Python里面就能够解析出来。这样的话可以直接将参数传入读取SQL的python脚本,从而去连接线上的数据库。那么这里最好是以平台、数据中台的形式去集成这样的一个功能。当然直接通过pymysql,pyhive都可以实现连接数据库进行交互。通过解析后的SQL数据做一个简单的提取之后 与数据库取得连接后将要求的特征和数据库以及表传入数据库SQL进行查询,再通过read_sql保存作为一个dataframe输出。
我之前写过一系列关于SQL解析的文章, 主要是师或者是大数据工程师都可以很好的使用这个功能,不用再花费其他学习成本去学习另一种新的语言。那么这里我们很容易想到这个系统最主要的功能在于这个SQL解析, 再说说的目标是需要将参数传入sklearn的,所以呢解析整个SQL将是关键,换句话说...。
比如我们可以设计一种看起来很奇怪的SQL语法:
SELECT KNN_resultFROM ,KNN_parameter,FROM Table1)t
你看, 这种写法虽然不符合标准SQL,但是它很直观,对吧?只要我们的解析器能认出`KNN_select`和`KNN_parameter`这两个关键字, 呵... 剩下的就是传参的问题了。以此作为支持我们可以获取到机器学习算法的关键字段, 与sklearn关联起来即可完成机器学习算法提取。
其实这么处理的话, 仅需要读取关键字段之后保存,而原本的SQL语句将传入数据库获取得到的数据作为数据集传出就好了。通过我之前写的一系列文章pyhive或者是pymysql连接数据库很容易实现这个功能。这里不得不贴一段代码, 虽然这代码看起来有点乱,但是它确实能工作:,百感交集。
# Connect to databaseconnection =
或者更常见一点,我们用Pandas来读:
_sql
有了机器学习的接口便可集成非常多的功能,如果能够解析传输的SQL语句,能够解析其中的数据和想要实现的一些机器学习算法和参数,那么即可调用sklearn功能。这是我的初步想法, 当然之前进行的sqlparse解析也是承担了相当大的功能,可以将如今这个目标做一些初步的攀登了。相信很多朋友听到这个标题第一反应:基于SQL能够实现机器学习,探探路。?
当然还有的朋友是有过了解一些类似项目的,比方说Byzer和阿里的SQLFlow。都是基于SQL语言去实现一些机器学习算法。但是真正用过的朋友应该还是少数的,一般使用场景也都是使用Python调用sklearn实现一些简单的机器学习。 层次低了。 很少有喜欢科研的朋友从底层手撕数学算法写完实现整个算法, 我认识的一些同事朋友几乎都是直接调用sklearn实现,确实现在也是一般调库调参也能够快速实现一些功能,但是这使得机器学习的门栏大大降低。
得到后来啊。输出的后来啊一般就为DataFrame, 此刻一般会产生两种表格,一类为直接输出的后来啊表,包含计算或者是预测后的后来啊表;另一类就是基于划分的测试集得到的ROC,AUC,,物超所值。。
第三步就是实现如何将提取出来的关键字段与机器学习的sklearn的算法关联起来了。sklearn的很多方法可以可以和其对应的参数,这是需要花费精力去写这些文档,PPT你。。
下面是该类的一些题目: 题目 用于图像生成的机器学习算法在人像合成中的研究与应用 可抵抗相机抖动的高动态图像生成算法研究图像生成诗歌的端到端模型研究 基于....机器学习_深度学习毕设题目汇总——图像生成....Engineering 发表一种用于生成真实胸片图像的视觉语言基础模型_a vi....,我开心到飞起。
虽然这些题目听起来跟SQL没啥关系, 但是如果我们能把数据准备好,用SQL把数据喂给这些模型, 拯救一下。 那不也是一种应用吗?比如我们可以看看怎么导入这些模型:
from _model import LogisticRegressionfrom import DecisionTreeClassifierfrom _analysis import LinearDiscriminantAnalysisfrom import KNeighborsClassifierfrom _bayes import GaussianNBfrom import SVC
然后跑一个简单的逻辑回归看看效果:
LR=LogisticRegressionpredictions=print)print)print)
还有啊,请注意,这些注意事项并非到目前为止一直是深度学习的基础的那种监督学习,而是适用于任何形式的机器学习,包括无监督,自我监督和强化学习... 这意味着我们的SQL接口设计也要考虑到这些情况,不能只盯着分类和回归看,累并充实着。。
这家伙... 光算出来不行,还得存回去。我们来看看怎么用SQLAlchemy把后来啊存回去:
from sqlalchemy import create_engineimport sqlalchemyimport pymysqlimport pandas as pdimport datetimefrom import INT,FLOAT,DATETIME,BIGINTdate_now=data={'id':, 'code':, 'value':, 'time':, 'create_time':, 'update_time':, 'source':}insert_df=schema_sql={ 'id':INT, 'code': INT, 'value': FLOAT, 'time': BIGINT, 'create_time': DATETIME, 'update_time': DATETIME }insert__sql
PyTorch 是一个开源的 Python 机器学习库,包、Torch7以及各种用于图像处理、 太暖了。 自然语言处理、数据....
torch-molecule- 分子发现深度学习库torch-molecule是分子发现机器学习项目,提供了预测模型、生成模型和表示模型的完整工具集.它基于动态 开倒车。 构建的 DAG 实现反向传播,并在其上构建一个小型神经网络库,并使用类似 PyTorch 的 API.TileLang - 高性能 GPU/CPU 开发编程语言.
订阅专栏本文探讨了深度学习在机器学习领域的核心地位,详细介绍了有监督学习与无监督学习的区别及应用场景,并解析了深度学习的关键概念与算法,如Deep Belief Networks等.TheanoTheano是deep learning的Python库,要求先说说熟悉Python语言和numpy,建议读者先看.,共勉。
都是上的领先模型,如X-SQL,以及追一科技数据集上的SOTA模型M-SQL,都采取了类似的方法论,即通过槽值填充的方式,利用深度学习训练不同子模型对每个槽位进行填充. 如果我们想要实现基于SQL语言的机器学习分析, 大胆一点... 那么先说说我个人感觉应该与平台化系统差不多。
啊这... 那么以上就完成了基于SQL语言实现机器学习以及深度学习的基本架构和流程方法了现在要做的就是基于这个架构流程实现一些简单的Demo,跑通整个流程后再封装就好。虽然现在的想法还比较粗糙,甚至有点“烂”,但是谁不是从烂开始的呢?
不地道。 如果我们想要实现基于SQL语言的机器学习分析,那么先说说我个人感觉应该与平台化系统差不多。以用户角度思考, 我传入的是一条SQL语句,其中包含我想要传输的数据库的表包含的字段列名和限制条件,其中想要调用的机器学习算法应该可以作为一个函数去实现。代码语言:sql
这整个过程, 其实就是把数据分析师从复杂的Python代码中解放出来让他们用最熟悉的SQL去完成以前需要编程才能做的事情。虽然现在看起来还很不成熟, 充满了各种噪音和未解决的问题,比如怎么处理超大数据集的流式计算,怎么优化深度学习模型的训练速度,这些都是后话了。至少,我们迈出了第一步,不是吗?哪怕这一步走得跌跌撞撞,哪怕写出来的代码像是一坨浆糊,但只要能跑起来那就是胜利。希望以后能有更多朋友加入到这个“用SQL搞AI”的奇怪阵营里来大家一起把这块硬骨头啃下来,说到点子上了。。
Demand feedback