一种数据的处理方法及系统
技术领域
本发明涉及数据库的数据治理领域,尤其涉及一种数据的处理方法及系统。
背景技术
随着网络和信息技术的不断普及,人类产生的数据量正在呈指数级增长。大约每两年翻一番,根据监测,这个速度在2020 年之前会继续保持下去。这意味着人类在最近两年产生的数据量相当于之前产生的全部数据量。大量新数据源的出现则导致了非结构化、半结构化数据爆发式的增长。信息数据的单位由TB-PB-EB-ZB的级别暴增。这些由我们创造的信息背后产生的这些数据早已经远远超越了目前人力所能处理的范畴。如何管理和使用这些数据,逐渐成为一个新的领域,数据治理应运而生。
现行数据治理多依赖人工判断,无法从根本上提升效率,且人工经常出现漏判误判等问题因此治理效果也千差万别,并且对于相似数据问题经常出现对于不同数据的相同解决思路的要重复性操作。本专利主要是结合机器学习人工智能中流行的分类方法,提升数据治理综合效果。现行常用的数据治理方案,往往需要针对不同的表格,不同表格中的属性分别依照相关业务规则生成对应处理语句(往往为sql),假设业务方提供业务需求为对m张表进行数据治理,则至少需要编写M条sql语句实现自动化数据治理(M为m张表中的各个数据的各自属性相加之和,且由于某一字段至少需要一条处理规则,故至少为M现实情况往往大于M条规则)。
因此现有技术存在以下几点问题:
第一、由于表格中的存在属性之间相似程度过高的数据,从而导致需要重复编写相似的sql处理语句对相似属性的数据进行治理,进而影响治理效率。
第二、由于数据处理规则的相似性,因此重复编写sql处理语句也会带来效率下降的问题。
第三、对于M比较大的业务问题,相对应的sql处理语句也会成指数级别上升,对于大量的数据在实时数据治理业务中,实时查找相应sql规则也会由于M过于庞大(经过实际实验规则数M大于万条时,会出现明显延时),影响数据治理体验流程,严重时会造成阻塞系统崩溃。
发明内容
针对现有技术中存在的上述问题,现提供一种数据的处理方法及系统。
具体技术方案如下:
一种数据的处理方法,其中,包括以下步骤:
获取训练数据,根据预设的治理方式分类规则对训练数据设置分类标签;
对分类标签设置对应的处理算法,并建立分类标签与处理算法的映射关系;
根据预设的属性分析方法提取得到训练数据的至少一个属性,其中属性分析方法包括多个对属性进行判断的属性分析子方法;
将训练数据对应的属性输入至xgboost分类模型中,结合训练数据对应的分类标签对xgboost分类模型进行训练,以得到训练好的xgboost分类模型;
获取待处理数据,并提取待处理数据的至少一个属性,将待处理数据的属性输入至训练好的xgboost分类模型中,以得到待处理数据的分类标签;
根据映射关系获取待处理数据的分类标签对应的处理算法,以根据获取得到的处理算法对待处理数据进行处理。
优选的,数据的处理方法,其中,属性分析方法采用并行的方式对训练数据进行每个属性分析子方法对应的属性判断,将每个属性分析子方法对应的判断结果进行记录,以获取得到训练数据的至少一个属性。
优选的,数据的处理方法,其中,训练数据对应唯一的分类标签,待处理数据对应唯一的分类标签。
优选的,数据的处理方法,其中,分类标签对应至少一个处理算法。
优选的,数据的处理方法,其中,根据映射关系获取待处理数据的分类标签对应的处理算法,以根据获取得到的处理算法对待处理数据进行处理,具体包括以下步骤:
根据映射关系获取待处理数据的分类标签对应的每个处理算法;
依照预设处理顺序依次根据获取得到的处理算法对待处理数据进行处理。
优选的,数据的处理方法,其中,属性包括:数据地址、字段类别、长度、标点和数学计算符号。
优选的,数据的处理方法,其中,属性分析子方法包括:
对训练数据或待处理数据的字段类别进行分析,将分析得到的字段类别作为属性;
判断训练数据或待处理数据中是否包括标点属性;
确定训练数据或待处理数据的数据长度;
判断训练数据或待处理数据中是否包括数学符号属性;
中的至少一个。
还包括一种数据的处理系统,其中,包括:
分类标签设置模块,用于获取训练数据,根据预设的治理方式分类规则对训练数据设置分类标签;
建立映射模块,用于对分类标签设置对应的处理算法,并建立分类标签与处理算法的映射关系;
属性提取模块,用于根据预设的属性分析方法提取得到训练数据的至少一个属性,其中属性分析方法包括多个对属性进行判断的属性分析子方法;
训练模块,用于将训练数据对应的属性输入至xgboost分类模型中,结合训练数据对应的分类标签对xgboost分类模型进行训练,以得到训练好的xgboost分类模型;
获取模块,获取待处理数据,并提取待处理数据的至少一个属性,将待处理数据的属性输入至训练好的xgboost分类模型中,以得到待处理数据的分类标签;
处理模块,用于根据映射关系获取待处理数据的分类标签对应的处理算法,以根据获取得到的处理算法对待处理数据进行处理。
还包括一种数据的管理设备,其中,包括存储器和处理器,存储器上保存有可在处理器上运行的数据管理程序,数据管理程序被处理器执行时实现如上述任一项的数据的处理方法。
还包括一种计算机可读存储介质,其中,计算机可读存储介质上保存有可在处理器上运行的数据管理程序,数据管理程序被处理器执行时实现如上述任一项的数据的处理方法。
上述技术方案具有如下优点或有益效果:
使用xgboost分类模型可以防止过拟合的情况出现,并且xgboost分类模型不仅使用到了一阶导数,还使用二阶导数,损失更精确,还可以自定义损失;XGBoost分类模型采用的是并行优化,其并行是在特征粒度上的,使得优化效果更好;
根据预设的属性分析方法提取得到训练数据的至少一个属性,其中属性分析方法包括多个对属性进行判断的属性分析子方法,从而实现对不同的属性进行选择;
通过训练数据对应的分类标签对xgboost分类模型进行训练,提高后续的对提高对数据进行处理的速度,提升数据治理人员对数据进行治理的效率,减轻数据治理系统的负担;
直接根据属性分析方法中的所有属性分析子方法采用并行的方式对同一个训练数据或待处理数据进行分析,以直接提取得到训练数据的至少一个属性,本实施例采用并行的方式对同一个训练数据或待处理数据进行分析,减少了分析时间,进一步提高数据的治理效率。
附图说明
参考所附附图,以更加充分的描述本发明的实施例。然而,所附附图仅用于说明和阐述,并不构成对本发明范围的限制。
图1为本发明数据的处理方法的实施例的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
本发明包括一种数据的处理方法,如图1所示,包括以下步骤:
获取训练数据,根据预设的治理方式分类规则对训练数据设置分类标签;
对分类标签设置对应的处理算法,并建立分类标签与处理算法的映射关系;
根据预设的属性分析方法提取得到训练数据的至少一个属性,其中属性分析方法包括多个对属性进行判断的属性分析子方法;
将训练数据对应的属性输入至xgboost分类模型中,结合训练数据对应的分类标签对xgboost分类模型进行训练,以得到训练好的xgboost分类模型;
获取待处理数据,并提取待处理数据的至少一个属性,将待处理数据的属性输入至训练好的xgboost分类模型中,以得到待处理数据的分类标签;
根据映射关系获取待处理数据的分类标签对应的处理算法,以根据获取得到的处理算法对待处理数据进行处理。
在上述实施例中,上述地建立映射关系和设置训练数据的分类标签可以顺序执行也可以同时执行。
需要说明的是,xgboost分类模型是对梯度提升算法的改进,求解损失函数极值时使用了牛顿法,将损失函数泰勒展开到二阶,另外损失函数中加入了正则化项。xgboost分类模型由两部分构成,第一部分为梯度提升算法损失,第二部分为正则化项。
使用xgboost分类模型可以防止过拟合的情况出现,并且xgboost分类模型不仅使用到了一阶导数,还使用二阶导数,损失更精确,还可以自定义损失;XGBoost分类模型采用的是并行优化,其并行是在特征粒度上的,使得优化效果更好。
在上述实施例中,根据预设的属性分析方法提取得到训练数据的至少一个属性,其中属性分析方法包括多个对属性进行判断的属性分析子方法,从而实现对不同的属性进行选择;
并且通过训练数据对应的分类标签对xgboost分类模型进行训练,提高了对数据进行处理的速度,提升数据治理人员对数据进行治理的效率,减轻数据治理系统的负担。
进一步地,在上述实施例中,属性分析方法采用并行的方式对训练数据进行每个属性分析子方法对应的属性判断,将每个属性分析子方法对应的判断结果进行记录,以获取得到训练数据的至少一个属性。
在上述实施例中,现有技术中存在设置多级属性来提取训练数据或待处理数据的属性,即现有技术先对训练数据或待处理数据进行一个大类别的属性提取,再从大类别的属性中判断精确的属性;然而上述现有技术存在判断次数多、判断时间长的缺点;因此本实施例直接根据属性分析方法中的所有属性分析子方法采用并行的方式对同一个训练数据或待处理数据进行分析,以直接提取得到训练数据的至少一个属性,本实施例采用并行的方式对同一个训练数据或待处理数据进行分析,减少了分析时间。
进一步地,在上述实施例中,属性包括但不限于:数据地址、字段类别、长度、标点和数学计算符号。
在上述实施例中,可以直接根据预设的属性分析方法提取训练数据和待处理数据的属性;
例如,属性可以为数据地址,此处的数据地址可以为训练数据和待处理数据的来源地址,从而方便后续查找到对应数据库中的数据表的待处理数据,进而方便获取得到的处理算法对查找到的待处理数据进行处理,以完成对该待处理数据的治理;
例如,属性可以为字段类别,其中,字段类别包括有整型、字符型和浮点型等;其中,可以将日期、手机号码等类型的训练数据和待处理数据;
例如,属性可以为长度。
通过提取训练数据和待处理数据属性,并且同一个训练数据或者同一个待处理数据可以提取到多个类型的属性,从而可以使得上述实施例能够接受多种类型的数据组成的数据集,能够保留更多维度的数据特征信息。
进一步地,在上述实施例中,属性分析方法采用并行的方式对训练数据进行每个属性分析子方法对应的属性判断,将每个属性分析子方法对应的判断结果进行记录,以获取得到训练数据的至少一个属性。
进一步地,在上述实施例中,属性分析子方法包括:
对训练数据或待处理数据的字段类别进行分析,将分析得到的字段类别作为属性;
判断训练数据或待处理数据中是否包括标点属性;
确定训练数据或待处理数据的数据长度;
判断训练数据或待处理数据中是否包括数学符号属性;
中的至少一个。
进一步地,在上述实施例中,训练数据对应唯一的分类标签,待处理数据对应唯一的分类标签。
进一步地,在上述实施例中,分类标签对应至少一个处理算法。
进一步地,在上述实施例中,根据映射关系获取待处理数据的分类标签对应的处理算法,以根据获取得到的处理算法对待处理数据进行处理,具体包括以下步骤:
根据映射关系获取待处理数据的分类标签对应的每个处理算法;
依照预设处理顺序依次根据获取得到的处理算法对待处理数据进行处理。
需要说明的是,预设处理顺序可以为同时处理,也可以为对每个分类标签对应的所有处理算法设置优先级顺序,用于实现自动根据优先级顺序依次进行处理。
在上述实施例中,采用xgboost分类模型实现分类,从而无需每次重新编程搭建,既能节省研发和维护成本,又可尽量减少框架在使用过程中的编码开销。
作为具体的实施方式,
获取训练数据,其中包括有四种训练数据:“155XXXXXXXX”、“‘张三’”、“XXXXX.X”和“XX省,XX市,XX区,XX路,XX号”,根据预设的治理方式分类规则对训练数据设置分类标签,其中:
训练数据“155XXXXXXXX”对应的分类标签为“phone”(即手机号码);
训练数据“‘张三’”对应的分类标签为“name”(即姓名);
训练数据“XXXXX.X”对应的分类标签为“salary”(即工资);
训练数据“XX省,XX市,XX区,XX路,XX号”对应的分类标签为“address”(即地址),如下表1所示:
[0001] 训练数据
[0002] 分类标签
[0003] 155XXXXXXXX
[0004] phone
[0005] ‘张三’
[0006] name
[0007] XXXXX.X
[0008] salary
[0009] XX省,XX市,XX区,XX路,XX号
[0010] address
表1
对分类标签设置对应的处理算法,并建立分类标签与处理算法的映射关系;
例如,此处以分类标签“phone”为例,如下表2所示:
[0011] 分类标签
[0012] 算法名称
[0013] 处理语句
[0014] phone
[0015] 转换空值
[0016] 对应的sql语句
[0017] phone
[0018] 长度处理
[0019] 对应的sql语句
[0020] phone
[0021] 异常值处理
[0022] 对应的sql语句
[0023] phone
[0024] 类型转换
[0025] 对应的sql语句
表2
如上表2所示:分类标签“phone”可以对应有上述四种处理算法:转换空值、长度处理、异常值处理和类型转换;
每种处理算法包括算法名称和处理语句,由于处理语句均为sql语句,至于每种处理算法对应的sql语句不是本申请的重点,在此不做赘述;
根据预设的属性分析方法提取得到训练数据的至少一个属性,其中属性分析方法包括多个对属性进行判断的属性分析子方法,本实施例中的属性分析方法具体表现为代码程序;
可以采用表格的形式更直观地展示属性分析方法中的各个属性分析子方法和分析结果,方便用户查阅,使得不懂程序的用户也可以清楚地查阅属性分析方法中的各个属性分析子方法和分析结果,如下表3所示:
训练数据或待处理数据
属性分析子方法1(确定字段类别)
属性分析子方法2(是否有标点)
属性分析子方法3(数据长度)
属性分析子方法4(是否有数学计算符号)
属性分析子方法5(是否存在其他属性)
155XXXXXXXX
1
0
1
0
0
‘张三’
2
0
2
0
0
XXXXX.X
3
1
1
0
0
XX省,XX市,XX区,XX路,XX号
2
1
14
0
1
表3
在上表3中,属性分析子方法1对应的属性为字段类别,属性分析子方法1为:对训练数据或待处理数据的字段类别进行分析,将分析得到的字段类别作为属性;
其中,在属性分析子方法1中的分析结果:1用于表示整型,2用于表示字符型,3用于表示浮点型;
属性分析子方法2对应的属性为标点属性,属性分析子方法2为:判断训练数据或待处理数据中是否包括标点属性;
其中,在属性分析子方法2中的分析结果:1用于表示有,0用于表示没有;
属性分析子方法3对应的属性为数据长度,属性分析子方法3为:确定训练数据或待处理数据的数据长度;
其中,在属性分析子方法3中的分析结果表示数据长度的数值;
属性分析子方法4对应的属性为数学符号属性,属性分析子方法4为:判断训练数据或待处理数据中是否包括数学符号属性;
其中,在属性分析子方法4中的分析结果:1用于表示有,0用于表示没有;
属性分析子方法5对应的属性为除属性分析子方法1-4对应的属性外的其他属性,属性分析子方法5为:判断训练数据或待处理数据中是否上述其他属性。
其中,在属性分析子方法5中的分析结果:1用于表示有,0用于表示没有。
在上表3中,可以同时对训练数据或待处理数据进行属性分析子方法1-5的分析判断。
需要说明的是,根据相同预设的属性分析方法提取得到待处理数据的至少一个属性。
还提供一种数据的处理系统,包括:
分类标签设置模块,用于获取训练数据,根据预设的治理方式分类规则对训练数据设置分类标签;
建立映射模块,用于对分类标签设置对应的处理算法,并建立分类标签与处理算法的映射关系;
属性提取模块,用于根据预设的属性分析方法提取得到训练数据的至少一个属性,其中属性分析方法包括多个对属性进行判断的属性分析子方法;
训练模块,用于将训练数据对应的属性输入至xgboost分类模型中,结合训练数据对应的分类标签对xgboost分类模型进行训练,以得到训练好的xgboost分类模型;
获取模块,获取待处理数据,并提取待处理数据的至少一个属性,将待处理数据的属性输入至训练好的xgboost分类模型中,以得到待处理数据的分类标签;
处理模块,用于根据映射关系获取待处理数据的分类标签对应的处理算法,以根据获取得到的处理算法对待处理数据进行处理。
本发明数据的处理系统的具体实施方式与上述数据的处理方法各实施例基本相同,在此不再赘述。
还提供一种数据的管理设备,包括存储器和处理器,存储器上保存有可在处理器上运行的数据管理程序,数据管理程序被处理器执行时实现如上述任一项的数据的处理方法。
本发明数据的管理设备的具体实施方式与上述数据的处理方法各实施例基本相同,在此不再赘述。
还提供一种计算机可读存储介质,计算机可读存储介质上保存有可在处理器上运行的数据管理程序,数据管理程序被处理器执行时实现如上述任一项的数据的处理方法。
本发明计算机可读存储介质的具体实施方式与上述数据的处理方法各实施例基本相同,在此不再赘述。
以上仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:跨库数据查询方法、装置和设备