发明内容
本申请的目的在于提供一种数据分箱的方法和设备,通过统计数据集中数据组的个数和对所述数据组的一种属性进行排序确定出由排序产生的序列号与所述个数生成的第一比值,在根据预先设定的深度阈值来对数据进行分箱,本申请可以在没有分箱软件的情况下,不用导出数据集中的数据,并可以直接对数据集中的数据直接进行分箱,提高分箱的效率,保证了分箱结果的正确性。
本申请的技术方案如下:
一种数据分箱的方法,所述方法包括:
服务器统计数据集中包括的数据组的个数;
所述服务器根据设定规则对所述数据集中数据组的一种属性进行排序;
所述服务器确定由排序产生的序列号与所述个数生成的第一比值;
所述服务器根据预先设定的深度阈值和所述第一比值对所述数据集中的数据进行分箱。
服务器统计数据集中包括的数据组的个数,具体为:
所述服务器为所述数据集添加一个常量属性;
所述服务器在所述数据集中的每组数据对应的常量属性中添加一个常量;
所述服务器统计添加的常量的个数。
所述服务器根据设定规则对所述数据集中数据组的一种属性进行排序,具体为:
所述服务器确定所述数据集中的一种属性;
所述服务器根据设定规则对所述属性下的数据进行排序;
其中,所述属性包括数据组中的已知属性和添加的常量属性。
所述服务器根据预先设定的深度阈值和所述第一比值对所述数据集中的数据进行分箱,具体为:
所述服务器根据预先设定的深度阈值确定分箱序号;
所述服务器确定由分箱序号的值与预先设定的深度阈值生成的第二比值;
所述服务器将不大于当前分箱序号的第二比值且大于所述当前分箱序号的上一个分箱序号的第二比值的第一比值所对应的数据组划分到当前分箱序号中。
所述深度阈值不大于所述数据组的个数。
一种服务器,所述服务器包括:
统计模块,用于统计数据集中包括的数据组的个数;
排序模块,用于根据设定规则对所述数据集中数据组的一种属性进行排序;
确定模块,用于确定由所述排序模块排序产生的序列号与所述统计模块统计的所述个数生成的第一比值;
分箱模块,用于根据预先设定的深度阈值和所述确定模块确定的所述第一比值对所述数据集中的数据进行分箱。
所述统计模块具体用于:
为所述数据集添加一个常量属性;
在所述数据集中的每组数据对应的常量属性中添加一个常量;
统计添加的常量的个数。
所述排序模块具体用于:
确定所述数据集中的一种属性;
根据设定规则对所述属性下的数据进行排序;
其中,所述属性包括数据组中的已知属性和添加的常量属性。
所述分箱模块具体用于:
根据预先设定的深度阈值确定分箱序号;
确定由分箱序号的值与预先设定的深度阈值生成的第二比值;
将不大于当前分箱序号的第二比值且大于所述当前分箱序号的上一个分箱序号的第二比值的第一比值所对应的数据组划分到当前分箱序号中。
所述深度阈值不大于所述数据组的个数。
本申请通过统计数据集中数据组的个数和对所述数据组的一种属性进行排序确定出由排序产生的序列号与所述个数生成的第一比值,在根据预先设定的深度阈值来对数据进行分箱,本申请可以在没有分箱软件的情况下,不用导出数据集中的数据,并可以直接对数据集中的数据直接进行分箱,提高分箱的效率,保证了分箱结果的正确性。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的其他实施例,都属于本申请保护的范围。
一种数据分箱的方法,如图1所示,所述方法包括以下步骤:
步骤101,服务器统计待分箱的数据集中包括的数据组的个数。
服务器统计待分箱的数据集中包括的数据组的个数,具体为:
所述服务器为所述数据集添加一个常量属性;
所述服务器在所述数据集中的每组数据对应的常量属性中添加一个常量;
所述服务器统计添加的常量的个数。
具体的,数据集中的数据包含至少一组属性,数据集中的数据根据该组属性分布在数据集中,一组数据是由该组属性下的数据组成的,即一个数据组包括所述数据集中每种属性下的数据,一组数据中的数据之间具有对应关系,并且属于某一组数据的数据就不可能也同时属于另一组数据。
如图2所示的数据集,所述数据集包含的一组属性中有姓名、英语得分数学得分、语文得分等,数据集中的数据根据其属性分布在数据集中,一组数据包含了姓名、英语得分数学得分、语文得分等一组属性下的数据,例如:王xx、70、60、……、70为一组数据。其中,该组出现的数据不能出现在另一组数据中,上述的一组数据中出现的数据70,该数据不能出现在其他数据组中,虽然其他数据组中有数据的值与其相同,但是数据本身的属性是不同的,即:该数据与姓名属性中的王xx有对应关系。
添加的常量属性是在现有的属性上额外添加的,并在常量属性下的每组数据中添加一个常量,其中,添加的常量不能对原数据集的数据产生任何影响,即所述常量不能与所述数据集中的数据类型相同,例如:添加的常量属性可以为a,如图3所示为添加常量属性a后的示意图,统计添加的常量的个数,此时添加的常量的个数等于数据集中包括的数据组的个数,当然添加的常量属性还可以为其他字符、字母或数字等常量属性,本申请的目的是在于通过常量属性统计数据组的个数,因此,无论添加何种常量属性,凡是可以达到统计数据组个数的均属于本申请的保护范围。
步骤102,所述服务器根据设定规则对所述数据集中数据组的一种属性进行排序。
所述服务器根据设定规则对所述数据集中数据组的一种属性进行排序,具体为:
所述服务器确定所述数据集中的一种属性;
所述服务器根据设定规则对所述属性下的数据进行排序;
其中,所述属性包括数据组中的已知属性和添加的常量属性。
例如:如果确定的属性是姓名,那么设定规则可以是按照笔画的多少进行升序或降序排序,如果出现笔画数相同的,那么可以以数据数出现的先后对笔画相同的数据进行排序;还可以姓名的第一个字的首字母的顺序进行,当第一个字的首字母相同的时候可以以名字的第二个字的首字母的顺序进行排序,以此类推,知道完成排序,当出现名字相同时,可以以数据数出现的先后对笔画相同的数据进行排序;如果确定的属性是常量属性,那么可以按照当前顺序对数据进行排序,具体的排序规则和确定要进行排序的属性可以根据实际需要进行设定。如图4所示的以常量属性进行排序的示意图,其中,N的大小为当前数据集包含的数据组的组数,N与统计的添加的常量的个数相同。
步骤103,所述服务器确定由排序产生的序列号与所述个数生成的第一比值。
具体的,如图4所示,进行排序产生的序列号与N进行比较,得到的各个数据组对应的第一比值的集合为:1/N、2/N、……、N/N。
生成第一比值的方法还可以包括:在所述服务器为所述数据集添加常量属性,并在所述数据集中的每组数据对应的常量属性中添加一个常量后,根据设定规则对一种属性下的数据进行排序生成包含有序列号的序列化数据集A,根据所述数据集中添加的常量个数生成包含有常量总数的常量维度汇总成数据集B,然后将数据集A和数据集B通过常量数据进行属性关联生成所述序列号与所述常量总数对应数据组的第一比值,本申请的目的是为了获取所述序列号与所述常量总数对应数据组的第一比值,因此所有生成对应数据组的所述第一比值的方法均属于本申请的保护范围。
步骤104,所述服务器根据预先设定的深度阈值和所述第一比值对所述数据集中的数据进行分箱。
所述服务器根据预先设定的深度阈值和所述第一比值对所述数据集中的数据进行分箱,具体为:
所述服务器根据预先设定的深度阈值确定分箱序号;
所述服务器确定由分箱序号的值与预先设定的深度阈值生成的第二比值;
所述服务器将不大于当前分箱序号的第二比值且大于所述当前分箱序号的上一个分箱序号的第二比值的第一比值所对应的数据组划分到当前分箱序号中。
其中,所述深度阈值不大于所述数据组的个数。
具体的,预先设定的深度阈值为确定的分箱的总个数,在确定需要分箱的个数后确定分箱序号,例如:预先设定的深度阈值为4,即需要将数据分成4箱,那么确定的分箱序号为:1号箱、2号箱、3号箱和4号箱,根据分箱序号的值与设定的深度阈值确定的第二比值的集合为:1/4、2/4、3/4、4/4,其中,1号箱对应的第二比值为:1/4,2号箱对应的第二比值为:2/4,3号箱对应的第二比值为:3/4,4号箱对应的第二比值为:4/4。由于1号箱没有对应的上一个分箱序号,那么1号箱中的数据为大于0,小于等于1/4的第一比值对应的数据组中的数据,如果N为20,那么,大于0,小于等于1/4的第一比值集合为:1/20、2/20、3/20、4/20、5/20,将上述第一比值所对应的数据组分到1号箱;2号箱中的数据为大于1/4,小于等于2/4的第一比值对应的数据组中的数据,那么,大于1/4,小于等于2/4的第一比值集合为:6/20、7/20、8/20、9/20、10/20,将上述第一比值所对应的数据组分到2号箱;3号箱中的数据为大于2/4,小于等于3/4的第一比值对应的数据组中的数据,那么,大于2/4,小于等于3/4的第一比值集合为:11/20、12/20、13/20、14/20、15/20,将上述第一比值所对应的数据组分到3号箱;4号箱中的数据为大于3/4,小于等于4/4的第一比值对应的数据组中的数据,那么,大于3/4,小于等于4/4的第一比值集合为:16/20、17/20、18/20、19/20、20/20,将上述第一比值所对应的数据组分到4号箱,经过上述操作就完成了分箱操作。
如果当N为22时,那么,大于0,小于等于1/4的第一比值集合为:1/22、2/22、3/22、4/22、5/22,将上述第一比值所对应的数据组分到1号箱;2号箱中的数据为大于1/4,小于等于2/4的第一比值对应的数据组中的数据,那么,大于1/4,小于等于2/4的第一比值集合为:6/22、7/22、8/22、9/22、10/22、11/22,将上述第一比值所对应的数据组分到2号箱;3号箱中的数据为大于2/4,小于等于3/4的第一比值对应的数据组中的数据,那么,大于2/4,小于等于3/4的第一比值集合为:12/22、13/22、14/22、15/22、16/22,将上述第一比值所对应的数据组分到3号箱;4号箱中的数据为大于3/4,小于等于4/4的第一比值对应的数据组中的数据,那么,大于3/4,小于等于4/4的第一比值集合为:17/22、18/22、19/22、20/22、21/22、22/22,将上述第一比值所对应的数据组分到4号箱,经过上述操作就完成了分箱操作。
本申请通过统计数据集中数据组的个数和对所述数据组的一种属性进行排序确定出由排序产生的序列号与所述个数生成的第一比值,在根据预先设定的深度阈值来对数据进行分箱,本申请可以在没有分箱软件的情况下,不用导出数据集中的数据,并可以直接对数据集中的数据直接进行分箱,提高分箱的效率,保证了分箱结果的正确性。
基于与上述方法同样的申请构思,本申请还提出了一种服务器,如图5所述,该服务器包括:
统计模块51,用于统计数据集中包括的数据组的个数;
排序模块52,用于根据设定规则对所述数据集中数据组的一种属性进行排序;
确定模块53,用于确定由所述排序模块排序产生的序列号与所述统计模块统计的所述个数生成的第一比值;
分箱模块54,用于根据预先设定的深度阈值和所述确定模块确定的所述第一比值对所述数据集中的数据进行分箱。
所述统计模块51具体用于:
为所述数据集添加一个常量属性;
在所述数据集中的每组数据对应的常量属性中添加一个常量;
统计添加的常量的个数。
所述排序模块52具体用于:
确定所述数据集中的一种属性;
根据设定规则对所述属性下的数据进行排序;
其中,所述属性包括数据组中的已知属性和添加的常量属性。
所述分箱模块54具体用于:
根据预先设定的深度阈值确定分箱序号;
确定由分箱序号的值与预先设定的深度阈值生成的第二比值;
将不大于当前分箱序号的第二比值且大于所述当前分箱序号的上一个分箱序号的第二比值的由确定模块53确定的第一比值所对应的数据组划分到当前分箱序号中。
所述深度阈值不大于所述数据组的个数。
本申请通过统计数据集中数据组的个数和对所述数据组的一种属性进行排序确定出由排序产生的序列号与所述个数生成的第一比值,在根据预先设定的深度阈值来对数据进行分箱,本申请可以在没有分箱软件的情况下,不用导出数据集中的数据,并可以直接对数据集中的数据直接进行分箱,提高分箱的效率,保证了分箱结果的正确性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本申请的保护范围。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以集成于一体,也可以分离部署;可以合并为一个模块,也可以进一步拆分成多个子模块。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。