一种基于SQL的机器学习方法和系统技术方案

技术编号:19342338 阅读:32 留言:0更新日期:2018-11-07 13:57
本发明专利技术公开了一种基于SQL的机器学习方法和系统,涉及数据分析与挖掘领域,包括以下步骤:S1:标记当前用户的数据集,所述数据集包括训练集、测试集、参数集;S2:根据特征处理流程对训练集和测试集进行特征处理;S3:根据参数集转换待训练用的参数组合;S4:取出一个参数组合,并调用SQL内嵌方法进行模型训练,选出当前最优模型;S5:循环执行S4,直到S3中参数组合使用完毕;S6:使用模型。本方案降低了非专业人员认识和利用机器学习算法的门槛,减少了数据分析与挖掘软件研发人员的工作量。

A machine learning method and system based on SQL

The invention discloses a machine learning method and system based on SQL, which relates to the field of data analysis and mining, including the following steps: S1: marking the current user's data set, which includes training set, test set and parameter set; S2: feature processing of training set and test set according to feature processing flow; S3: feature processing of training set and test set according to feature processing flow; Parameter sets transform the combination of parameters to be trained; S4: take out a combination of parameters, and call the SQL embedded method for model training to select the current optimal model; S5: cycle through the execution of S4 until the use of the combination of parameters in S3; S6: use the model. This scheme reduces the threshold for non-professionals to recognize and utilize machine learning algorithms, and reduces the workload of data analysis and mining software developers.

【技术实现步骤摘要】
一种基于SQL的机器学习方法和系统
本专利技术涉及数据分析与挖掘领域,尤其涉及一种基于SQL的机器学习方法和系统。
技术介绍
目前,在人工智能
,对于具体的数据分析、数据挖掘等问题,通常会经历数据清洗、特征转换、模型训练、模型评估、模型使用等五个主要环节。然而机器学习算法种类庞大,数量达到上百种,理论推导较难,算法更新速度较快,且不同算法适用的问题模型差异较大,如果是生产环境中使用数据挖掘技术,还涉及到模型的工程化部署问题。这对于数据、经济、医学、化学、通信等非互联网行业的技术人员及刚入门的计算机技术学习者,如何通过机器学习来尝试解决本领域内的一些问题是一项很困难的工作。因此如何降低这些非专业人员认识和利用机器学习算法的门槛是一个迫切的需求。
技术实现思路
本专利技术的目的在于:提供一种基于SQL的机器学习方法和系统,解决非专业人员认识和利用机器学习算法的门槛高,并且数据分析与挖掘软件研发人员的工作量大的问题。本专利技术采用的技术方案如下:一种基于SQL的机器学习方法和系统,包括以下步骤:S1:标记当前用户的数据集,所述数据集包括训练集、测试集、参数集;S2:根据特征处理流程对训练集和测试集进行特征处理;S3:根据参数集转换待训练用的参数组合;S4:取出一个参数组合,并调用SQL内嵌方法对特征处理后的训练集执行模型训练,选出当前最优模型;S5:循环执行S4,直到S3中参数组合使用完毕;S6:使用模型。进一步的,所述步骤S1中的训练集、测试集和参数集由用户直接指定或者SQL语句间接指定。进一步的,所述训练集还可以为步骤S1到S6中产生的新的数据集。进一步的,所述步骤S3中的参数组合为一个元组集合,即步骤S1中参数集的笛卡尔积。进一步的,所述步骤S4具体步骤如下:S401:无放回地从参数组合中取出一个元组;S402:根据元组的值调用SQL内嵌方法对训练集进行模型训练;S403:根据指定的模型评估方法选出当前最优模型。进一步的,S6具体步骤如下:S601:将预测集作用于当前最优模型;S602:将最优模型发布到SQL内嵌方法库,便于后续使用;S603:将最优模型导出到本地硬盘或者数据库,便于模型共享。综上所述,由于采用了上述技术方案,本专利技术的有益效果是:1、本专利技术中,通过采用将SQL(结构化查询语言)语法与机器学习过程相结合的方式,利用SQL查询语句封装训练集、测试集、参数集、模型训练以及评估过程,并将机器学习过程中所需的具体算法封装到SQL函数中,不需要再配合其它编程技能组装机器学习过程的每个步骤,降低了使用数据分析与挖掘技术的难度,特别是对于只掌握了传统SQL技能的技术人员能快速上手;同时,由于机器学习的计算结果能快速插入到SQL结果集,这利于提高传统数据库报表开发人员、数据分析人员的工作效率并丰富他们的报表数据。2、本专利技术中,通过将机器学习与数据库系统相结合,将机器学习过程的模型训练、模型持久化、模型发布统一到SQL语句,有利于模型的快速构建、发布、分享,有利于降低数据处理与分析人员软件研发的工作量。附图说明图1是本专利技术基于SQL的机器学习方法流程图;图2是本专利技术实施例1机器学习方法流程图;图3是本专利技术特征处理方法图;图4是本专利技术算法类别图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,一种基于SQL的机器学习方法和系统,包括以下步骤:S1:标记当前用户的数据集,所述数据集包括训练集、测试集、参数集;具体的,数据集标记机器学习语法如下:SET{TRD|PAD|TED}[d1]{SQL|UD}S2:根据特征处理流程对训练集和测试集进行特征处理;具体的,特征处理机器学习语法如下:TRANSFORM{TRD|[TRD.field1,TRD.field2,TRD.field3,…,TRD.fieldn]}WITH{feature_handler}[PAD]其中feature_handler表示特征提取处理方法,涉及到的特征提取方法如图3所示,TRD.field1表示训练集的第一个特征,以此类推,TRD.fieldn表示训练集第n个特征。S3:根据参数集转换待训练的参数组合;S4:取出一个参数组合,并调用SQL内嵌方法对特征处理后的训练集执行模型训练,选出当前最优模型;具体步骤如下:S401:无放回地从参数组合中取出一个元组;S402:根据元组的值调用SQL内嵌方法对训练集进行模型训练;S403:根据指定的模型评估方法选出当前最优模型。具体的,模型训练机器学习语法如下:FIT{TRD}WITH{algorithm}[PAD][EVALUATEBY{evaluate_method}][EXPORTED][model]其中algorithm表示具体的机器学习训练算法,涉及到的算法类别如图4所示,evaluate_method表示常见的模型评估指示,model表示已训练好的模型名称。S5:循环执行S4,直到S3中参数组合使用完毕;S6:使用模型。具体步骤如下:S601:将预测集作用于当前最优模型;S602:将最优模型发布到SQL内嵌方法库,便于后续使用;S603:将最优模型导出到本地硬盘或者数据库,便于模型共享。具体的,模型使用机器学习语法如下:USE{model}{DEPLOY[deployName]|EXPLORTED[path]|PREDICT{TED}}其中deployName表示已发布模型名字,path表示模型导出的具体地址。进一步的,所述步骤S1中的训练集、测试集和参数集由用户直接指定或者SQL语句间接指定。进一步的,所述训练集还可以为步骤S1到S6中产生的新的数据集。进一步的,所述步骤S3中的参数组合为一个元组集合,即步骤S1中参数集的笛卡尔积。进一步的,所述步骤S4具体步骤如下:S401:无放回地从参数组合中取出一个元组;S402:根据元组的值调用SQL内嵌方法对训练集进行模型训练;S403:根据指定的模型评估方法选出当前最优模型。进一步的,所述步骤S6具体步骤如下:S601:将预测集作用于当前最优模型;S602:将最优模型发布到SQL内嵌方法库,便于后续使用;S603:将最优模型导出到本地硬盘或者数据库,便于模型共享。本专利技术通过使用SQL(结构化查询语言)语法与机器学习过程相结合的方式,利用SQL查询语句封装训练集、测试集、参数集,并将机器学习过程封装到SQL函数中,将机器学习算法推导过程统一为获取数据集、特征处理(如图3所示)、指定参数、模型训练和模型使用,同时将算法的因变量类型、自变量类型、是否监督等属性进行归纳(如图4所示),并将其编入数据库中,最后以SQL语句来执行模型的训练和使用。实施例1如借贷人履历数据表1(bankloan)所示:S1:标记当前用户的数据集,所述数据集包括训练集、测试集、参数集;SETTRDselect*frombankloanwhereempID<9000将bankloan表前9000条数据标记为训练集TRD。SETTEDselect*frombankloanwhereempID>=9000相应本文档来自技高网...

【技术保护点】
1.一种基于SQL的机器学习方法和系统,其特征在于,包括以下步骤:S1:标记当前用户的数据集,所述数据集包括训练集、测试集、参数集;S2:根据特征处理流程对训练集和测试集进行特征处理;S3:根据参数集转换待训练用的参数组合;S4:取出一个参数组合,并调用SQL内嵌方法对特征处理后的训练集执行模型训练,选出当前最优模型;S5:循环执行S4,直到S3中参数组合使用完毕;S6:使用模型。

【技术特征摘要】
1.一种基于SQL的机器学习方法和系统,其特征在于,包括以下步骤:S1:标记当前用户的数据集,所述数据集包括训练集、测试集、参数集;S2:根据特征处理流程对训练集和测试集进行特征处理;S3:根据参数集转换待训练用的参数组合;S4:取出一个参数组合,并调用SQL内嵌方法对特征处理后的训练集执行模型训练,选出当前最优模型;S5:循环执行S4,直到S3中参数组合使用完毕;S6:使用模型。2.根据权利要求1所述一种基于SQL的机器学习方法和系统,其特征在于:所述步骤S1中的训练集、测试集和参数集由用户直接指定或者SQL语句间接指定。3.根据权利要求1所述一种基于SQL的机器学习方法和系统,其特征在于:所述训练集还可以为步骤S1到S6中产生的新的数据...

【专利技术属性】
技术研发人员:王永波饶俊傅玉生
申请(专利权)人:成都优易数据有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1