CN110704535B - 数据分箱方法、装置、设备及计算机可读存储介质 - Google Patents
数据分箱方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110704535B CN110704535B CN201910922579.XA CN201910922579A CN110704535B CN 110704535 B CN110704535 B CN 110704535B CN 201910922579 A CN201910922579 A CN 201910922579A CN 110704535 B CN110704535 B CN 110704535B
- Authority
- CN
- China
- Prior art keywords
- box
- sub
- heap
- boxes
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 112
- 238000011282 treatment Methods 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000004364 calculation method Methods 0.000 claims description 56
- 238000011284 combination treatment Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000000926 separation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及金融科技技术领域,公开了一种数据分箱方法、装置、设备及计算机可读存储介质。该方法包括:读取待处理数据集,并根据预设方法对所述待处理数据集中的特征进行分箱处理,得到初始分箱序列;对所述初始分箱序列中的分箱进行预合并处理,并计算各预合并后的分箱的效用值;根据所述效用值和预设条件确定待合并分箱,并对所述待合并分箱进行合并处理,得到更新后的分箱序列;基于所述更新后的分箱序列按预设规则更新所述预合并后的分箱及其效用值,并根据更新后的效用值对所述更新后的分箱序列中的分箱进行合并处理,依此循环,直至达到预设停止条件时,停止分箱,并输出分箱结果。本发明能够提高数据分箱的效率和分箱效果。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种数据分箱方法、装置、设备及计算机可读存储介质。
背景技术
随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链Blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。
机器学习是人工智能的核心研究内容之一,其应用已经渗透到人类社会的各个领域。对于机器学习模型而言,其鲁棒性至关重要,目前针对区间型特征,通常通过分箱处理的方法来增强机器学习模型的鲁棒性。传统的分箱方法一般是先等距或等频地将原始特征切分为多段数据(初始箱子),并根据效用函数来计算各初始箱子的效用值;然后基于效用值来对各初始箱子进行最优合并,其中,最优合并的依据是合并后的大箱子效用值相比合并之前两个小箱子效用值之和减少最少(或增加最大);在经过多轮合并,达到指定的约束条件时,则停止合并,得到最终的分箱结果。传统的分箱方法,在合并时需要遍历当前所有箱子,时间复杂度较高,分箱效率较低。同时,考虑到后续的计算,在初始分箱过程中,初始分箱数目的设定值较少,一般为几十个,导致分箱效果较差。
发明内容
本发明的主要目的在于提供一种数据分箱方法、装置、设备及计算机可读存储介质,旨在解决现有技术中分箱效率较低、分箱效果较差的问题。
为实现上述目的,本发明提供一种数据分箱方法,所述数据分箱方法包括:
读取待处理数据集,并根据预设方法对所述待处理数据集中的特征进行分箱处理,得到初始分箱序列;
对所述初始分箱序列中的分箱进行预合并处理,并计算各预合并后的分箱的效用值;
根据所述效用值和预设条件确定待合并分箱,并对所述待合并分箱进行合并处理,得到更新后的分箱序列;
基于所述更新后的分箱序列按预设规则更新所述预合并后的分箱及其效用值,并根据更新后的效用值对所述更新后的分箱序列中的分箱进行合并处理,依此循环,直至达到预设停止条件时,停止分箱,并输出分箱结果。
可选地,所述对所述初始分箱序列中的分箱进行预合并处理,并计算各预合并后的分箱的效用值的步骤包括:
从所述初始分箱序列中依次取出预设数量的分箱进行预合并处理,得到对应的堆节点及由所述堆节点构成的堆,并计算所述堆中各堆节点的效用值;
所述根据所述效用值和预设条件确定待合并分箱的步骤包括:
根据所述效用值和预设条件确定目标堆节点,并将所述目标堆节点对应的分箱确定为待合并分箱;
所述基于所述更新后的分箱序列按预设规则更新所述预合并后的分箱及其效用值,并根据更新后的效用值对所述更新后的分箱序列中的分箱进行合并处理的步骤包括:
基于所述更新后的分箱序列按预设规则更新所述堆及所述堆中各堆节点的效用值,并根据更新后的堆中各堆节点的效用值对所述更新后的分箱序列中的分箱进行合并处理。
可选地,所述计算所述堆中各堆节点的效用值的步骤之前,还包括:
获取所述初始分箱序列中各分箱的分箱信息,所述分箱信息包括效用值计算参数;
检测所述各分箱的分箱信息的总大小是否已超过预设阈值;
若所述各分箱的分箱信息的总大小已超过预设阈值,则将所述各分箱的分箱信息存储至预先构建的分布式存储系统中;
所述计算所述堆中各堆节点的效用值的步骤包括:
从所述分布式存储系统中获取所述堆中各堆节点对应分箱的效用值计算参数,并根据各堆节点对应分箱的效用值计算参数分别计算各堆节点的效用值。
可选地,所述分箱信息还包括分箱编号,所述计算所述堆中各堆节点的效用值的步骤之后,还包括:
获取所述堆中各堆节点的堆节点信息,并检测所述各堆节点的堆节点信息的总大小是否已超过所述预设阈值;
若所述各堆节点的堆节点信息的总大小已超过所述预设阈值,则对所述各堆节点的堆节点信息进行分布式存储;
其中,所述堆节点信息包括堆节点的编号和效用值、及对应分箱的分箱编号。
可选地,所述对所述待合并分箱进行合并处理,得到更新后的分箱序列的步骤包括:
对所述待合并分箱进行合并处理,得到新分箱;
根据所述待合并分箱的相邻分箱编号在所述初始分箱序列中插入所述新分箱,得到更新后的分箱序列。
可选地,所述基于所述更新后的分箱序列按预设规则更新所述堆及所述堆中各堆节点的效用值的步骤包括:
删除基于所述目标堆节点对应分箱中的任一分箱得到的堆节点,并根据所述新分箱及其在所述更新后的分箱序列中的相邻分箱,生成新的堆节点;
在所述堆中插入所述新的堆节点,以更新所述堆;
获取所述新的堆节点对应分箱的效用值计算参数,并根据所述新的堆节点对应分箱的效用值计算参数计算所述新的堆节点的效用值;
更新所述新的堆节点的效用值,以更新所述堆中各堆节点的效用值。
可选地,若所述预设方法为等频分箱方法,所述读取待处理数据集,并根据预设方法对所述待处理数据集中的特征进行分箱处理,得到初始分箱序列的步骤包括:
读取待处理数据集,基于第一预设分箱数量和所述待处理数据集中的特征的数量确定各分箱的特征数量;
按预设顺序对所述待处理数据集中的特征进行排序,并根据所述各分箱的特征数量对排序后的特征进行分箱处理;
对经分箱处理得到的分箱依次进行编号,得到初始分箱序列;
若所述预设方法为等距分箱方法,所述读取待处理数据集,并根据预设方法对所述待处理数据集中的特征进行分箱处理,得到初始分箱序列的步骤包括:
读取待处理数据集,获取所述待处理数据集中的特征的最大值和最小值,并基于所述最大值、所述最小值和第二预设分箱数量,确定分箱区间;
基于所述分箱区间确定所述待处理数据集中的各特征所处的区间,根据各特征所处的区间对所述特征进行分箱处理;
对经分箱处理得到的分箱依次进行编号,得到初始分箱序列。
此外,为实现上述目的,本发明还提供一种数据分箱装置,所述数据分箱装置包括:
分箱模块,用于读取待处理数据集,并根据预设方法对所述待处理数据集中的特征进行分箱处理,得到初始分箱序列;
计算模块,用于对所述初始分箱序列中的分箱进行预合并处理,并计算各预合并后的分箱的效用值;
合并模块,用于根据所述效用值和预设条件确定待合并分箱,并对所述待合并分箱进行合并处理,得到更新后的分箱序列;
输出模块,用于基于所述更新后的分箱序列按预设规则更新所述预合并后的分箱及其效用值,并根据更新后的效用值对所述更新后的分箱序列中的分箱进行合并处理,依此循环,直至达到预设停止条件时,停止分箱,并输出分箱结果。
此外,为实现上述目的,本发明还提供一种数据分箱设备,所述数据分箱设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据分箱程序,所述数据分箱程序被所述处理器执行时实现如上所述的数据分箱方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据分箱程序,所述数据分箱程序被处理器执行时实现如上所述的数据分箱方法的步骤。
本发明提供一种数据分箱方法、装置、设备及计算机可读存储介质,通过读取待处理数据集,并根据预设方法对待处理数据集中的特征进行分箱处理,得到初始分箱序列;对初始分箱序列中的分箱进行预合并处理,并计算各预合并后的分箱的效用值;根据效用值和预设条件确定待合并分箱,并对待合并分箱进行合并处理,得到更新后的分箱序列;基于更新后的分箱序列按预设规则更新预合并后的分箱及其效用值,并根据更新后的效用值对更新后的分箱序列中的分箱进行合并处理,依此循环,直至达到预设停止条件时,停止分箱,并输出分箱结果。通过上述方式,本发明实施例中基于分箱预合并得到预合并后的分箱,进而根据预合并后的分箱的效用值来确定需要合并的分箱,在合并完成之后更新预合并后的分箱及其效用值,然后继续根据更新后的效用值来确定需要合并的分箱,如此循环,可快速地实现最优分箱,相比于现有技术,本发明实施例无需每次遍历当前所有箱子并进行计算比较、以确定需合并的箱子,只需比较预合并后的分箱的效用值即可,因此本发明可提高分箱效率。同时,本发明可支持初始化足够数量的初始分箱,从而可提升最终的分箱效果。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明数据分箱方法第一实施例的流程示意图;
图3为本发明数据分箱方法涉及的堆节点生成示意图;
图4为本发明数据分箱方法涉及的系统架构示意图;
图5为本发明数据分箱方法涉及的一实施流程示意图;
图6为本发明数据分箱装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例数据分箱设备可以是服务器,也可以是PC(Personal Computer,个人计算机)、平板电脑、便携计算机等终端设备。
如图1所示,该数据分箱设备可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如Wi-Fi接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的数据分箱设备结构并不构成对数据分箱设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据分箱程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据分箱程序,并执行以下数据分箱方法的各个步骤。
基于上述硬件结构,提出本发明数据分箱方法的各实施例。
本发明提供一种数据分箱方法。
参照图2,图2为本发明数据分箱方法第一实施例的流程示意图。
在本实施例中,该数据分箱方法包括:
步骤S10,读取待处理数据集,并根据预设方法对所述待处理数据集中的特征进行分箱处理,得到初始分箱序列;
本实施例的数据分箱方法是由数据分箱设备实现的,该设备以服务器为例进行说明。在本实施例中,服务器先读取待处理数据集,并根据预设方法对待处理数据集中的特征进行分箱处理,得到初始分箱序列。其中,该预设方法是用户预先设定的,针对不同类型的方法还需预先设置对应的分箱参数,预设方法可以为等频分箱方法或等距分箱方法,同时还需预先设置分箱数量。当然,在具体实施时,预设方法还可以包括其他分箱方法,以下对等频分箱和等距分箱的具体分箱过程进行说明。
若所述预设方法为等频分箱方法,步骤S10包括:
步骤a1,读取待处理数据集,基于第一预设分箱数量和所述待处理数据集中的特征的数量确定各分箱的特征数量;
步骤a2,按预设顺序对所述待处理数据集中的特征进行排序,并根据所述各分箱的特征数量对排序后的特征进行分箱处理;
步骤a3,对经分箱处理得到的分箱依次进行编号,得到初始分箱序列;
若预设方法为等频分箱方法,则先读取待处理数据集,基于第一预设分箱数量和待处理数据集中的特征的数量确定各分箱的特征数量,例如,第一预设分箱数量为a个,待处理数据集中的特征的数量为b个,则各分箱的特征数量为b/a个;然后,按预设顺序对待处理数据集中的特征进行排序,并根据各分箱的特征数量对排序后的特征进行分箱处理,例如,当特征为数值时,可以按从大到小或从小到大的顺序对各特征进行排序,然后依次取b/a个特征分到一个分箱中;对经分箱处理得到的分箱依次进行编号,得到初始分箱序列。
若所述预设方法为等距分箱方法,步骤S10包括:
步骤a4,读取待处理数据集,获取所述待处理数据集中的特征的最大值和最小值,并基于所述最大值、所述最小值和第二预设分箱数量,确定分箱区间;
步骤a5,基于所述分箱区间确定所述待处理数据集中的各特征所处的区间,根据各特征所处的区间对所述特征进行分箱处理;
步骤a6,对经分箱处理得到的分箱依次进行编号,得到初始分箱序列。
若预设方法为等距分箱方法,则先读取待处理数据集,获取待处理数据集中的特征的最大值和最小值,并基于最大值、最小值和第二预设分箱数量,确定分箱区间;然后,基于分箱区间确定待处理数据集中的各特征所处的区间,然后根据各特征所处的区间对特征进行分箱处理,例如,第二预设分箱数量为3个,特征为0~60之间的一些自然数,其中,特征的最大值为60,最小值为0,可计算得到分箱区间的间隔为(60-0)/3=20,对应的分箱区间分别为0~20、21~40和41~60(包含端点),然后可根据特征的数值大小确定其所处的区间,进而根据各特征所处的区间将各特征分到0~20、21~40和41~60各区间对应的分箱中。最后,对经分箱处理得到的分箱依次进行编号,得到初始分箱序列。
步骤S20,对所述初始分箱序列中的分箱进行预合并处理,并计算各预合并后的分箱的效用值;
在得到初始分箱序列之后,对初始分箱序列中的分箱进行预合并处理,具体的,可以从初始分箱序列中依次取出预设数量的分箱,进行预合并处理,其中,预设数量为≥2个,当然,也可以根据实际需要设定一上限值,此处不作具体限定;预合并处理并不是指实际对多个分箱进行合并,只是为了计算出若多个分箱合并、其对应分箱的效用值。此外,在取分箱时,可按初始分箱序列中各分箱的编号依次选取,也可以随机选取。在本实施例中,以预设数量为2个、按编号依次选取分箱为例进行说明,在经分箱处理后,得到n个分箱,分别编号1-n,即初始分箱序列中各分箱的编号依次为1,2,…,n,此时,分别将分箱1与2进行预合并,2与3预合并,…,n-1与n预合并,得到n-1个预合并的分箱。
然后,计算各预合并后的分箱的效用值。具体的,可获取预合并后的分箱对应分箱的效用值计算参数,然后根据该效用值计算参数计算各预合并后的分箱的效用值。其中,效用值表示当前分箱的优劣,可以用IV值(information value,信息量或信息值)来表征,效用值计算参数即为计算效用值所需使用的参数,例如,当效用值用IV值表征时,效用值计算参数可以包括当前分箱的正样本数量和负样本数量、所有分箱的正样本数量和负样本数量。例如,分箱1的效用值计算参数包括分箱1的正样本数量为a1、负样本数量为b1,所有分箱的正样本数量为a、负样本数量为b,分箱2的效用值计算参数包括分箱2的正样本数量为a2、负样本数量为b2,基于分箱1和2预合并后的分箱,其对应的计算方式如下:
对于其他效用值表征参数的具体的效用值计算方法,此处不作具体限定和说明。
步骤S30,根据所述效用值和预设条件确定待合并分箱,并对所述待合并分箱进行合并处理,得到更新后的分箱序列;
然后,根据上述计算得到的各预合并后的分箱的效用值和预设条件确定待合并分箱,其中,该预设条件为用户预先设定的,例如,可以为以预合并后的分箱中效用值的最小值所对应的分箱为待合并分箱,也可以为以预合并后的分箱中效用值的最大值所对应的分箱为待合并分箱。然后,对待合并分箱进行合并处理,得到更新后的分箱序列。具体的分箱序列的更新过程可参照第二实施例。
步骤S40,基于所述更新后的分箱序列按预设规则更新所述预合并后的分箱及其效用值,并根据更新后的效用值对所述更新后的分箱序列中的分箱进行合并处理,依此循环,直至达到预设停止条件时,停止分箱,并输出分箱结果。
在得到更新后的分箱序列之后,基于更新后的分箱序列按预设规则更新预合并后的分箱及其效用值,并根据更新后的效用值对更新后的分箱序列中的分箱进行合并处理,依此循环,直至达到预设停止条件时,停止分箱,并输出分箱结果。其中,预设停止条件可以为更新后的分箱序列中的分箱数量达到第一预设值,或更新后的分箱序列中各分箱中的特征数量均大于第二预设值。当然,在具体实施例中,还可以根据实际需要设定其他停止条件。
即,在得到更新后的分箱序列之后,检测更新后的分箱序列是否满足预设停止条件,若不满足,则基于更新后的分箱序列按预设规则更新预合并后的分箱及其效用值,并根据更新后的效用值对更新后的分箱序列中的分箱进行合并处理,进而再更新分箱序列,进而再检测当前的分箱序列是否满足预设停止条件,若满足,则停止分箱,并输出分箱结果;若不满足,则继续循环执行上述步骤,直至达到预设停止条件时,停止分箱,并输出分箱结果。
本发明实施例提供一种数据分箱方法,通过读取待处理数据集,并根据预设方法对待处理数据集中的特征进行分箱处理,得到初始分箱序列;对初始分箱序列中的分箱进行预合并处理,并计算各预合并后的分箱的效用值;根据效用值和预设条件确定待合并分箱,并对待合并分箱进行合并处理,得到更新后的分箱序列;基于更新后的分箱序列按预设规则更新预合并后的分箱及其效用值,并根据更新后的效用值对更新后的分箱序列中的分箱进行合并处理,依此循环,直至达到预设停止条件时,停止分箱,并输出分箱结果。通过上述方式,本发明实施例中基于分箱预合并得到预合并后的分箱,进而根据预合并后的分箱的效用值来确定需要合并的分箱,在合并完成之后更新预合并后的分箱及其效用值,然后继续根据更新后的效用值来确定需要合并的分箱,如此循环,可快速地实现最优分箱,相比于现有技术,本发明实施例无需每次遍历当前所有箱子并进行计算比较、以确定需合并的箱子,只需比较预合并后的分箱的效用值即可,因此本发明实施例可提高分箱效率。同时,本发明实施例中可支持初始化足够数量的初始分箱,从而可提升最终的分箱效果。
进一步的,基于图2所示的第一实施例,提出本发明数据分箱方法的第二实施例。
在本实施例中,步骤S20包括:从所述初始分箱序列中依次取出预设数量的分箱进行预合并处理,得到对应的堆节点及由所述堆节点构成的堆,并计算所述堆中各堆节点的效用值;
在本实施例中,对于预合并后的分箱的分箱信息(包括效用值、分箱编号、相邻分箱编号等)的存储形式可以采用堆、栈或其他数据结构进行存储,优选地,可选用堆这一数据结构进行数据存储,相比于其他数据结构,堆可以动态地分配内存大小和回收内存,其存取更加灵活。
在本实施例中,在得到初始分箱序列之后,对初始分箱序列中的分箱进行预合并处理,得到对应的堆节点及由堆节点构成的堆。具体的,可以从初始分箱序列中依次取出预设数量的分箱,进行预合并处理,其中,预设数量为≥2个,当然,也可以根据实际需要设定一上限值,此处不作具体限定;预合并处理并不是指实际对多个分箱进行合并,只是为了计算出若多个分箱合并、其对应分箱的效用值。此外,在取分箱时,可按初始分箱序列中各分箱的编号依次选取,也可以随机选取。在本实施例中,以预设数量为2个、按编号依次选取分箱为例进行说明,例如,在经分箱处理后,得到n个分箱,如图3所示,分别编号1-n,即初始分箱序列中各分箱的编号依次为1,2,…,n;此时,分别将分箱1与2预合并,2与3预合并,…,n-1与n预合并,得到n-1个堆节点,对应的,可将各堆节点依次编号为1’,2’,…,(n-1)’,得到对应的堆,即堆中包括编号为1’,2’,…,(n-1)’的堆节点。
然后,计算堆中各堆节点的效用值,具体的,可获取堆节点对应分箱的效用值计算参数,然后根据该效用值计算参数计算各堆节点的效用值。其中,效用值表示当前分箱的优劣,可以用IV值(information value,信息量或信息值)来表征,效用值计算参数即为计算效用值所需使用的参数,例如,当效用值用IV值表征时,效用值计算参数可以包括当前分箱的正样本数量和负样本数量、所有分箱的正样本数量和负样本数量。具体的效用值计算方法,需根据效用值的类型(如可以用IV值表征)来确定,此处不作具体限定和说明。
需要说明的是,各分箱有对应的分箱信息,其中分箱信息包括分箱编号、相邻分箱编号和效用值计算参数,各堆节点有对应的堆节点信息,其中堆节点信息包括堆节点编号、对应分箱编号(即生成该堆节点的分箱的编号)和效用值,在计算堆节点的效用值时,可以根据堆节点信息中的对应分箱编号,去获取对应分箱的分箱信息中的效用值计算参数,进而根据效用值计算参数来计算堆节点的效用值。
此时,步骤S30中“根据所述效用值和预设条件确定待合并分箱”包括:
步骤b1,根据所述效用值和预设条件确定目标堆节点,并将所述目标堆节点对应的分箱确定为待合并分箱;
然后,根据上述计算得到的各堆节点的效用值和预设条件确定目标堆节点,并将目标堆节点对应的分箱确定为待合并分箱。其中,该预设条件为用户预先设定的,例如,可以为以效用值最小值为目标堆节点,也可以为以效用值最大值为目标堆节点。
步骤S30中“对所述待合并分箱进行合并处理,得到更新后的分箱序列”包括:
步骤b2,对所述待合并分箱进行合并处理,得到新分箱;
步骤b3,根据所述待合并分箱的相邻分箱编号在所述初始分箱序列中插入所述新分箱,得到更新后的分箱序列。
在确定待合并分箱之后,对待合并分箱进行合并处理,得到新分箱,其中,新分箱的编号可以为当前分箱编号中的最大值加1,其相邻分箱编号即为该目标堆节点对应分箱的相邻分箱编号,效用值计算参数为该目标堆节点对应分箱的效用值计算参数、或为基于该目标堆节点对应分箱的效用值计算参数合并得到的效用值计算参数。然后,根据目标堆节点对应分箱的相邻分箱编号在初始分箱序列中插入该新分箱,得到更新后的分箱序列。需要说明的是,由于对目标堆节点对应分箱进行合并处理得到了新分箱,对应的,更新后的分箱序列中则没有该目标堆节点对应的分箱。
例如,上述例中,初始分箱序列为编号依次为1,2,…,n的分箱所构成的序列,堆包括编号为1’,2’,…,(n-1)’的堆节点,当目标堆节点为5’时,其对应分箱的编号为5和6,即待合并分箱为分箱5和6,则对分箱5和6进行合并处理,得到新分箱n+1,该新分箱n+1的相邻分箱编号为4和7,然后,在初始分箱序列中插入该新分箱n+1,得到更新后的分箱序列,该更新后的分箱序列中的分箱编号依次为1,2,3,4,n+1,7,8,…,n。当然,需要说明的是,在更新分箱序列之后,需要更新对应分箱的分箱信息,包括删除与目标节点对应两个分箱的分箱信息,增加新分箱的分箱信息及更新该新分箱相邻分箱的分箱信息。
此时,步骤S40包括:
步骤c1,基于所述更新后的分箱序列按预设规则更新所述堆及所述堆中各堆节点的效用值,并根据更新后的堆中各堆节点的效用值对所述更新后的分箱序列中的分箱进行合并处理,依此循环,直至达到预设停止条件时,停止分箱,并输出分箱结果。
在得到更新后的分箱序列之后,基于更新后的分箱序列按预设规则更新堆及堆中各堆节点的效用值,并根据更新后的堆中各堆节点的效用值对更新后的分箱序列中的分箱进行合并处理,依此循环,直至达到预设停止条件时,停止分箱,并输出分箱结果。其中,预设停止条件可以为更新后的分箱序列中的分箱数量达到第一预设值,或更新后的分箱序列中各分箱中的特征数量均大于第二预设值。当然,在具体实施例中,还可以根据实际需要设定其他停止条件。
即,在得到更新后的分箱序列之后,检测更新后的分箱序列是否满足预设停止条件,若不满足,则基于更新后的分箱序列按预设规则更新堆及堆中各堆节点的效用值,并根据更新后的堆中各堆节点的效用值对更新后的分箱序列中的分箱进行合并处理,进而再更新分箱序列,进而再检测当前的分箱序列是否满足预设停止条件,若满足,则停止分箱,并输出分箱结果;若不满足,则继续循环执行上述步骤,直至达到预设停止条件时,停止分箱,并输出分箱结果。
其中,步骤“基于所述更新后的分箱序列按预设规则更新所述堆及所述堆中各堆节点的效用值”包括:
步骤c11,删除基于所述目标堆节点对应分箱中的任一分箱得到的堆节点,并根据所述新分箱及其在所述更新后的分箱序列中的相邻分箱,生成新的堆节点;
步骤c12,在所述堆中插入所述新的堆节点,以更新所述堆。
堆的更新过程具体为:先删除堆中基于目标堆节点对应分箱中的任一分箱得到的堆节点,然后,根据该新分箱及该新分箱在更新后的分箱序列中的相邻分箱,生成新的堆节点。例如上述例中,目标堆节点为5’时,根据目标堆节点的堆节点信息可知其对应分箱的编号为5和6,而根据各堆节点的堆节点信息可知堆节点4’、5’和6’是基于分箱5和/或6合并得到的,则对应删除堆节点4’、5’和6’。然后,新分箱编号为n+1,其相邻分箱编号为4和7,则根据分箱4和n+1生成新的堆节点n’,根据分箱n+1和7生成新的堆节点(n+1)’。
在生成新的堆节点后,在堆中插入新的堆节点,以更新堆。上述例中,在堆中插入新的堆节点n’、(n+1)’,对应的,更新后的堆包括编号为1’,2’,3’,n’,(n+1)’,7’,8’,…,(n-1)’的堆节点。
需要说明的是,在插入新的堆节点时,如果是分布式堆情况下,可采用负载均衡策略将新的堆节点插入到堆节点数目最少的堆中。此外,还需要说明的是,在更新堆之后,需要更新对应堆节点的堆节点信息,包括删除基于目标堆节点对应分箱中的任一分箱得到的堆节点的堆节点信息(即目标堆节点及其相邻堆节点的堆节点信息),增加新的堆节点的堆节点信息及更新该新堆节点相邻堆节点的堆节点信息。
步骤c13,获取所述新的堆节点对应分箱的效用值计算参数,并根据所述新的堆节点对应分箱的效用值计算参数计算所述新的堆节点的效用值;
步骤c14,更新所述新的堆节点的效用值,以更新所述堆中各堆节点的效用值。
堆中各堆节点的效用值的更新过程具体为:获取新的堆节点对应分箱的效用值计算参数,并根据新的堆节点对应分箱的效用值计算参数计算新的堆节点的效用值,然后更新该新的堆节点的效用值,以更新堆中各堆节点的效用值。其中,对于新的堆节点的效用值计算方法可参照上述实施例,此处不再赘述。
通过上述方式,本发明实施例中基于分箱预合并得到堆节点,进而根据堆节点的效用值来确定需要合并的分箱,在合并完成之后更新堆节点,然后继续根据更新后的堆节点的效用值来确定需要合并的分箱,如此循环,可快速地实现最优分箱,相比于现有技术,本发明实施例无需每次遍历当前所有箱子并进行计算比较、以确定需合并的箱子,只需比较堆节点的效用值即可,因此本发明实施例可提高分箱效率。同时,本发明实施例中通过使用堆,极大地优化了分箱的计算性能,可支持初始化足够数量的初始分箱,从而可提升最终的分箱效果。
进一步的,基于上述第二实施例,提出本发明数据分箱方法的第三实施例。
在本实施例中,在步骤S10之后,该数据分箱方法还包括:
步骤A,获取所述初始分箱序列中各分箱的分箱信息,所述分箱信息包括效用值计算参数;
在本实施例中,在得到初始分箱序列之后,可获取初始分箱序列中各分箱的分箱信息,其中,该分箱信息包括效用值计算参数,效用值计算参数即为计算效用值所需使用的参数。当然,分箱信息除包括效用值计算参数外,还包括分箱的编号及相邻分箱的编号,相邻分箱包括左分箱和右分箱,例如,初始分箱序列中的各分箱的编号依次为1,2,……,n,则分箱5的分箱信息包括分箱编号5、左分箱编号4、右分箱编号6和效用值计算参数。
步骤B,检测所述各分箱的分箱信息的总大小是否已超过预设阈值;
步骤C,若所述各分箱的分箱信息的总大小已超过预设阈值,则将所述各分箱的分箱信息存储至预先构建的分布式存储系统中;
在获取到各分箱的分箱信息之后,检测各分箱的分箱信息的总大小是否已超过预设阈值,其中,该预设阈值可以设为单台机器的总存储空间大小所对应的值,或设定为单台机器的总存储空间大小与一预设比例(如80%)的乘积值,可根据实际情况具体设定,此处不作限定。
若各分箱的分箱信息的总大小已超过预设阈值,则将各分箱的分箱信息存储至预先构建的分布式存储系统中,即对各分箱的分箱信息进行分布式存储,将各分箱的分箱信息分布式存储至预先构建的分布式存储系统的各节点上(如bucket,存储空间,用于存储对象Object的容器),如图4所示。
此时,步骤“计算所述堆中各堆节点的效用值”包括:
从所述分布式存储系统中获取所述堆中各堆节点对应分箱的效用值计算参数,并根据各堆节点对应分箱的效用值计算参数分别计算各堆节点的效用值。
然后,从初始分箱序列中依次取出预设数量的分箱进行预合并处理,得到对应的堆节点及由堆节点构成的堆,具体的堆生成方法可参照上述第二实施例,此处不作赘述。在得到堆之后,从分布式存储系统中获取该堆中各堆节点对应分箱的效用值计算参数,即根据堆中各堆节点的堆节点信息,确定各堆节点的对应分箱编号,然后根据该分箱编号获取对应分箱的效用值计算参数。进而根据各堆节点对应分箱的效用值计算参数分别计算各堆节点的效用值,并执行后续步骤,具体的执行过程可参照上述实施例,此处不作赘述。
需要说明的是,在后续更新分箱序列之后,需要更新对应分箱的分箱信息,包括删除与目标节点对应两个分箱的分箱信息,增加新分箱的分箱信息及更新该新分箱相邻分箱的分箱信息。其中,在增加新分箱的分箱信息时,可根据负载均衡策略,将该新分箱的分箱信息存储至剩余空间较大的存储节点上,当然,也可以将新分箱的分箱信息存储至相邻分箱信息所存储的节点中,便于后续进行分箱信息的删除或合并。
本实施例中采用分布式存储架构,实现对分箱信息进行分布式存储,可支持对海量数据的分箱处理,同时分布式存储架构有良好的可扩展性,使得初始分箱的数量可以不设限制,即能够初始化足够数量的初始分箱,从而可提高分箱效果。
进一步地,基于上述第三实施例,提出本发明数据分箱方法的第四实施例。
在本实施例中,所述分箱信息还包括分箱编号,在步骤“计算所述堆中各堆节点的效用值”之后,该数据分箱方法还包括:
步骤D,获取所述堆中各堆节点的堆节点信息,并检测所述各堆节点的堆节点信息的总大小是否已超过所述预设阈值;
在本实施例中,在得到更新后的分箱序列之后,可获取堆中各堆节点的堆节点信息,并检测各堆节点的堆节点信息的总大小是否已超过预设阈值,其中,堆节点信息包括堆节点的编号和效用值、及对应分箱的分箱编号,该预设阈值可以设为单台机器的总存储空间大小所对应的值,或设定为单台机器的总存储空间大小与一预设比例(如80%)的乘积值,可根据实际情况具体设定,此处不作限定。
步骤E,若所述各堆节点的堆节点信息的总大小已超过所述预设阈值,则对所述各堆节点的堆节点信息进行分布式存储;
若各堆节点的堆节点信息的总大小已超过预设阈值,则对各堆节点的堆节点信息进行分布式存储。
需要说明的是,在后续更新堆之后,需要更新对应堆节点的分箱信息,包括删除基于目标堆节点对应的两个分箱中的任一分箱得到的堆节点的堆节点信息(即目标堆节点及其相邻堆节点的堆节点信息),增加新的堆节点的堆节点信息及更新该新堆节点相邻堆节点的堆节点信息。其中,在增加新堆节点的堆节点信息时,可根据负载均衡策略,将该新堆节点的堆节点信息存储至剩余空间较大的存储节点上。
本实施例中采用分布式存储架构,实现对堆节点信息进行分布式存储,可进一步支持对海量数据的分箱处理,同时分布式存储架构有良好的可扩展性,使得初始分箱的数量可以不设限制,即能够初始化足够数量的初始分箱,从而可提高分箱效果。
基于上述各实施例中,参照图4和图5,提出一应用场景实施例。本方案的实施可依托于图4的系统计算框架,其中,Controller(控制器)用于控制整个计算流程,Bucket(桶,一种存储空间)用于存储分箱信息,Minimum Heap(最小堆)用于存储最小堆信息(当然,需要说明的是,在具体实施时,也可以为最大堆),Insert Balancer(插入均衡器)用于实现插入堆节点负载均衡。
在本实施例中,先读取待处理数据集,然后,等频/等距将特征X分箱为n个箱子,存储每个箱子的分箱信息(即箱子编号、左右相邻箱子编号和分箱效用值相关信息),当分箱信息的信息量单机存储不下时使用分布式存储,如图4所示,采用多个bucket进行分布式存储。然后,依箱子序号遍历所有箱子信息(即分箱信息),生成相邻两个箱子合并后的箱子作为堆节点,堆节点记录有对应的堆节点信息(如堆节点编号、待合并的箱子编号以及堆节点效用值相关信息),当堆节点信息的信息量单机存储不下时也可以使用分布式存储。然后,提取所有堆节点的顶点信息,选取最小(大)的节点d作为待合并的对象,如图4中步骤1所示,得到待合并两个分箱编号i和j,然后,从对应的堆上删除待合并的堆节点d,并根据待合并的两个分箱i和j,生成合并后的分箱t,编号为当前最大分箱号加1,同时删除所有基于分箱i或j生成的堆节点。然后,在箱子信息中插入新生成的分箱t,同时删除两个分箱i和j,并依据新生成的分箱和其相邻的分箱生成新的堆节点,将新生成的堆节点插入到堆中,如果是分布式堆情况下,使用负载均衡策略(Insert Balancer)插入到堆节点数目最少的堆中。进而检验当前的分箱情况是否达到停止条件,如果是,则停止计算输出分箱结果,如果否,则继续循环执行上述步骤。
本发明还提供一种数据分箱装置。
参照图6,图6为本发明数据分箱装置第一实施例的功能模块示意图。
如图6所示,所述数据分箱装置包括:
分箱模块10,用于读取待处理数据集,并根据预设方法对所述待处理数据集中的特征进行分箱处理,得到初始分箱序列;
计算模块20,用于对所述初始分箱序列中的分箱进行预合并处理,并计算各预合并后的分箱的效用值;
合并模块30,用于根据所述效用值和预设条件确定待合并分箱,并对所述待合并分箱进行合并处理,得到更新后的分箱序列;
输出模块40,用于基于所述更新后的分箱序列按预设规则更新所述预合并后的分箱及其效用值,并根据更新后的效用值对所述更新后的分箱序列中的分箱进行合并处理,依此循环,直至达到预设停止条件时,停止分箱,并输出分箱结果。
进一步地,所述计算模块20具体用于:从所述初始分箱序列中依次取出预设数量的分箱进行预合并处理,得到对应的堆节点及由所述堆节点构成的堆,并计算所述堆中各堆节点的效用值;
所述合并模块30具体用于:根据所述效用值和预设条件确定目标堆节点,并将所述目标堆节点对应的分箱确定为待合并分箱;
所述输出模块40具体用于:基于所述更新后的分箱序列按预设规则更新所述堆及所述堆中各堆节点的效用值,并根据更新后的堆中各堆节点的效用值对所述更新后的分箱序列中的分箱进行合并处理。
进一步地,所述数据分箱装置还包括:
获取模块,用于获取所述初始分箱序列中各分箱的分箱信息,所述分箱信息包括效用值计算参数;
第一检测模块,用于检测所述各分箱的分箱信息的总大小是否已超过预设阈值;
第一存储模块,用于若所述各分箱的分箱信息的总大小已超过预设阈值,则将所述各分箱的分箱信息存储至预先构建的分布式存储系统中;
所述计算模块20包括:
第一计算单元,用于从所述分布式存储系统中获取所述堆中各堆节点对应分箱的效用值计算参数,并根据各堆节点对应分箱的效用值计算参数分别计算各堆节点的效用值。
进一步地,所述分箱信息还包括分箱编号,所述数据分箱装置还包括:
第二检测模块,用于获取所述堆中各堆节点的堆节点信息,并检测所述各堆节点的堆节点信息的总大小是否已超过所述预设阈值;
第二存储模块,用于若所述各堆节点的堆节点信息的总大小已超过所述预设阈值,则对所述各堆节点的堆节点信息进行分布式存储;
其中,所述堆节点信息包括堆节点的编号和效用值、及对应分箱的分箱编号。
进一步地,所述合并模块30包括:
第二合并单元,用于对所述待合并分箱进行合并处理,得到新分箱;
第一插入单元,用于根据所述待合并分箱的相邻分箱编号在所述初始分箱序列中插入所述新分箱,得到更新后的分箱序列。
进一步地,所述输出模块40包括:
处理单元,用于删除基于所述目标堆节点对应的两个分箱中的任一分箱得到的堆节点,并根据所述新分箱及其在所述更新后的分箱序列中的相邻分箱,生成新的堆节点;
第二插入单元,用于在所述堆中插入所述新的堆节点,以更新所述堆;
第二计算单元,用于获取所述新的堆节点对应分箱的效用值计算参数,并根据所述新的堆节点对应分箱的效用值计算参数计算所述新的堆节点的效用值;
更新单元,用于更新所述新的堆节点的效用值,以更新所述堆中各堆节点的效用值。
进一步地,若所述预设方法为等频分箱方法,所述分箱模块10具体用于:
读取待处理数据集,基于第一预设分箱数量和所述待处理数据集中的特征的数量确定各分箱的特征数量;
按预设顺序对所述待处理数据集中的特征进行排序,并根据所述各分箱的特征数量对排序后的特征进行分箱处理;
对经分箱处理得到的分箱依次进行编号,得到初始分箱序列;
若所述预设方法为等距分箱方法,所述分箱模块10还具体用于:
读取待处理数据集,获取所述待处理数据集中的特征的最大值和最小值,并基于所述最大值、所述最小值和第二预设分箱数量,确定分箱区间;
基于所述分箱区间确定所述待处理数据集中的各特征所处的区间,根据各特征所处的区间对所述特征进行分箱处理;
对经分箱处理得到的分箱依次进行编号,得到初始分箱序列。
其中,上述数据分箱装置中各个模块的功能实现与上述数据分箱方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有数据分箱程序,所述数据分箱程序被处理器执行时实现如以上任一项实施例所述的数据分箱方法的步骤。
本发明计算机可读存储介质的具体实施例与上述数据分箱方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种数据分箱方法,其特征在于,所述数据分箱方法包括:
读取待处理数据集,并根据预设方法对所述待处理数据集中的特征进行分箱处理,得到初始分箱序列;
从所述初始分箱序列中依次取出预设数量的分箱进行预合并处理,得到对应的堆节点及由所述堆节点构成的堆,并计算所述堆中各堆节点的效用值;
根据所述效用值和预设条件确定目标堆节点,并将所述目标堆节点对应的分箱确定为待合并分箱,并对所述待合并分箱进行合并处理,得到更新后的分箱序列;
基于所述更新后的分箱序列按预设规则更新所述堆及所述堆中各堆节点的效用值,并根据更新后的堆中各堆节点的效用值对所述更新后的分箱序列中的分箱进行合并处理,依此循环,直至达到预设停止条件时,停止分箱,并输出分箱结果;
所述基于所述更新后的分箱序列按预设规则更新所述堆及所述堆中各堆节点的效用值的步骤包括:
删除基于所述目标堆节点对应分箱中的任一分箱得到的堆节点,并根据新分箱及其在所述更新后的分箱序列中的相邻分箱,生成新的堆节点;
在所述堆中插入所述新的堆节点,以更新所述堆;
获取所述新的堆节点对应分箱的效用值计算参数,并根据所述新的堆节点对应分箱的效用值计算参数计算所述新的堆节点的效用值;
更新所述新的堆节点的效用值,以更新所述堆中各堆节点的效用值。
2.如权利要求1所述的数据分箱方法,其特征在于,所述计算所述堆中各堆节点的效用值的步骤之前,还包括:
获取所述初始分箱序列中各分箱的分箱信息,所述分箱信息包括效用值计算参数;
检测所述各分箱的分箱信息的总大小是否已超过预设阈值;
若所述各分箱的分箱信息的总大小已超过预设阈值,则将所述各分箱的分箱信息存储至预先构建的分布式存储系统中;
所述计算所述堆中各堆节点的效用值的步骤包括:
从所述分布式存储系统中获取所述堆中各堆节点对应分箱的效用值计算参数,并根据各堆节点对应分箱的效用值计算参数分别计算各堆节点的效用值。
3.如权利要求2所述的数据分箱方法,其特征在于,所述分箱信息还包括分箱编号,所述计算所述堆中各堆节点的效用值的步骤之后,还包括:
获取所述堆中各堆节点的堆节点信息,并检测所述各堆节点的堆节点信息的总大小是否已超过所述预设阈值;
若所述各堆节点的堆节点信息的总大小已超过所述预设阈值,则对所述各堆节点的堆节点信息进行分布式存储;
其中,所述堆节点信息包括堆节点的编号和效用值、及对应分箱的分箱编号。
4.如权利要求1至3中任一项所述的数据分箱方法,其特征在于,所述对所述待合并分箱进行合并处理,得到更新后的分箱序列的步骤包括:
对所述待合并分箱进行合并处理,得到新分箱;
根据所述待合并分箱的相邻分箱编号在所述初始分箱序列中插入所述新分箱,得到更新后的分箱序列。
5.如权利要求1所述的数据分箱方法,其特征在于,若所述预设方法为等频分箱方法,所述读取待处理数据集,并根据预设方法对所述待处理数据集中的特征进行分箱处理,得到初始分箱序列的步骤包括:
读取待处理数据集,基于第一预设分箱数量和所述待处理数据集中的特征的数量确定各分箱的特征数量;
按预设顺序对所述待处理数据集中的特征进行排序,并根据所述各分箱的特征数量对排序后的特征进行分箱处理;
对经分箱处理得到的分箱依次进行编号,得到初始分箱序列;
若所述预设方法为等距分箱方法,所述读取待处理数据集,并根据预设方法对所述待处理数据集中的特征进行分箱处理,得到初始分箱序列的步骤包括:
读取待处理数据集,获取所述待处理数据集中的特征的最大值和最小值,并基于所述最大值、所述最小值和第二预设分箱数量,确定分箱区间;
基于所述分箱区间确定所述待处理数据集中的各特征所处的区间,根据各特征所处的区间对所述特征进行分箱处理;
对经分箱处理得到的分箱依次进行编号,得到初始分箱序列。
6.一种数据分箱装置,其特征在于,所述数据分箱装置包括:
分箱模块,用于读取待处理数据集,并根据预设方法对所述待处理数据集中的特征进行分箱处理,得到初始分箱序列;
计算模块,用于从所述初始分箱序列中依次取出预设数量的分箱进行预合并处理,得到对应的堆节点及由所述堆节点构成的堆,并计算所述堆中各堆节点的效用值;
合并模块,用于根据所述效用值和预设条件确定目标堆节点,并将所述目标堆节点对应的分箱确定为待合并分箱,并对所述待合并分箱进行合并处理,得到更新后的分箱序列;
输出模块,用于基于所述更新后的分箱序列按预设规则更新所述堆及所述堆中各堆节点的效用值,并根据更新后的堆中各堆节点的效用值对所述更新后的分箱序列中的分箱进行合并处理,依此循环,直至达到预设停止条件时,停止分箱,并输出分箱结果;
所述输出模块包括:
处理单元,用于删除基于所述目标堆节点对应的两个分箱中的任一分箱得到的堆节点,并根据新分箱及其在所述更新后的分箱序列中的相邻分箱,生成新的堆节点;
第二插入单元,用于在所述堆中插入所述新的堆节点,以更新所述堆;
第二计算单元,用于获取所述新的堆节点对应分箱的效用值计算参数,并根据所述新的堆节点对应分箱的效用值计算参数计算所述新的堆节点的效用值;
更新单元,用于更新所述新的堆节点的效用值,以更新所述堆中各堆节点的效用值。
7.一种数据分箱设备,其特征在于,所述数据分箱设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据分箱程序,所述数据分箱程序被所述处理器执行时实现如权利要求1至5中任一项所述的数据分箱方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据分箱程序,所述数据分箱程序被处理器执行时实现如权利要求1至5中任一项所述的数据分箱方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910922579.XA CN110704535B (zh) | 2019-09-26 | 2019-09-26 | 数据分箱方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910922579.XA CN110704535B (zh) | 2019-09-26 | 2019-09-26 | 数据分箱方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110704535A CN110704535A (zh) | 2020-01-17 |
CN110704535B true CN110704535B (zh) | 2023-10-24 |
Family
ID=69198241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910922579.XA Active CN110704535B (zh) | 2019-09-26 | 2019-09-26 | 数据分箱方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110704535B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111507479B (zh) * | 2020-04-15 | 2021-08-10 | 深圳前海微众银行股份有限公司 | 特征分箱方法、装置、设备及计算机可读存储介质 |
CN111898765A (zh) * | 2020-07-29 | 2020-11-06 | 深圳前海微众银行股份有限公司 | 特征分箱方法、装置、设备及可读存储介质 |
CN113051317B (zh) * | 2021-04-09 | 2024-05-28 | 上海云从企业发展有限公司 | 一种数据挖掘模型更新方法、系统、计算机设备及可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959187A (zh) * | 2018-04-09 | 2018-12-07 | 中国平安人寿保险股份有限公司 | 一种变量分箱方法、装置、终端设备及存储介质 |
CN109815267A (zh) * | 2018-12-21 | 2019-05-28 | 天翼征信有限公司 | 数据建模中特征的分箱优化方法及系统、存储介质及终端 |
CN109840843A (zh) * | 2019-01-07 | 2019-06-04 | 杭州排列科技有限公司 | 基于相似性合并的连续型特征自动分箱算法 |
CN110245688A (zh) * | 2019-05-21 | 2019-09-17 | 中国平安财产保险股份有限公司 | 一种数据处理的方法及相关装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10459932B2 (en) * | 2014-12-18 | 2019-10-29 | Business Objects Software Ltd | Visualizing large data volumes utilizing initial sampling and multi-stage calculations |
-
2019
- 2019-09-26 CN CN201910922579.XA patent/CN110704535B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959187A (zh) * | 2018-04-09 | 2018-12-07 | 中国平安人寿保险股份有限公司 | 一种变量分箱方法、装置、终端设备及存储介质 |
CN109815267A (zh) * | 2018-12-21 | 2019-05-28 | 天翼征信有限公司 | 数据建模中特征的分箱优化方法及系统、存储介质及终端 |
CN109840843A (zh) * | 2019-01-07 | 2019-06-04 | 杭州排列科技有限公司 | 基于相似性合并的连续型特征自动分箱算法 |
CN110245688A (zh) * | 2019-05-21 | 2019-09-17 | 中国平安财产保险股份有限公司 | 一种数据处理的方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110704535A (zh) | 2020-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110704535B (zh) | 数据分箱方法、装置、设备及计算机可读存储介质 | |
Solomon et al. | Improved dynamic graph coloring | |
CN109656798B (zh) | 基于顶点重排序的超级计算机大数据处理能力测试方法 | |
CN107908714A (zh) | 一种数据归并排序方法及装置 | |
Berenbrink et al. | Multiple-choice balanced allocation in (almost) parallel | |
Álvarez-Miranda et al. | A relax-and-cut framework for large-scale maximum weight connected subgraph problems | |
CN111475402A (zh) | 程序功能的测试方法及相关装置 | |
CN110688055B (zh) | 一种大图计算中数据访问方法及系统 | |
Gao et al. | Arboricity and spanning-tree packing in random graphs with an application to load balancing | |
KR20130084016A (ko) | 분산된 학습 구조에 기초하는 자세 인식기 학습 시스템 및 방법 | |
CN110288507B (zh) | 一种基于gpu的多分区强连通图检测方法 | |
CN113094899A (zh) | 一种随机潮流计算方法、装置、电子设备及存储介质 | |
CN106126670B (zh) | 运营数据排序处理方法及装置 | |
CN106844533A (zh) | 一种数据分组聚集方法及装置 | |
US20120030235A1 (en) | Priority search trees | |
CN116028832A (zh) | 一种样本聚类处理方法、装置、存储介质及电子设备 | |
CN111104561B (zh) | 启发式的无人平台信息感知网络拓扑生成方法和装置 | |
Zhuang et al. | A memetic algorithm using partial solutions for graph coloring problem | |
CN111104225A (zh) | 一种基于MapReduce的数据处理方法、装置、设备及介质 | |
Zola | Constructing similarity graphs from large-scale biological sequence collections | |
CN111400050A (zh) | 一种分配资源执行任务的方法及装置 | |
Thomas et al. | Hybrid approach for 2D strip packing problem using genetic algorithm | |
CN107729430B (zh) | 图数据中最小k派系检测方法、装置及设备 | |
Azar et al. | Serving in the dark should be done non-uniformly | |
CN109741415B (zh) | 图层整理方法、装置及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |