数据处理方法、装置、设备、和计算机可读存储介质与流程

专利检索2022-05-10  6



1.本公开涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、设备和计算机可读存储介质。


背景技术:

2.直方图是列级别统计信息的一种,主要用来描述数据库中列值的分布情况,适用于数据分布不均匀的场景。根据直方图,数据库可以针对不同的参数值准确地计算出选择率,保证计划的正确性。
3.现有技术中,通过蓄水池抽样算法,来生成均匀抽样集合,举例而言,样本池中样本的数量为s,从头开始扫描数据流,数据流中包括n个数据,数据流中的数据均以均以s/n的概率被选取到样本集合中,生成均匀抽样集合,根据均匀抽样集合生成直方图。采样比例s/n受到样本池中样本的数量s的影响,样本池中样本的数量s越大,采样比例越高,直方图的准确性越高。
4.然而,上述实施方式中的样本池中样本的数量是预先定义好的,但是需要处理的数据的类型是不确定的,因此可能会影响数据处理结果的准确性。


技术实现要素:

5.本发明实施例提供了一种数据处理方法、装置、设备和计算机可读存储介质,能够针对不同的数据类型获取较大的样本数量,从而能够提高数据处理结果的准确性。
6.第一方面,本发明实施例提供了一种数据处理方法,包括:
7.获取构建直方图时分配的内存的容量;
8.根据待采样数据集合中的待采样数据的长度和所述内存的容量,确定样本数量;
9.从所述待采样数据集合中以固定概率抽取多个所述待采样数据,形成样本数据集合,所述样本数据集合中的样本数据的数量等于所述样本数量;
10.根据所述样本数据集合,生成所述直方图。
11.可选的,根据待采样数据集合中的待采样数据的长度和所述内存的容量,确定样本数量,包括:
12.根据如下公式,确定所述样本数量s:
13.s=[s1/l]
[0014]
其中,s1为所述内存的容量,l为所述待采样数据集合中的待采样数据的长度。
[0015]
可选的,所述从所述待采样数据集合中以固定概率抽取多个所述待采样数据,形成样本数据集合,包括:
[0016]
将第i次扫描的所述待采样数据添加至所述样本数据集合中,更新扫描所述待采样数据的次数i=i 1,其中,1≤i≤s,s为样本数量;
[0017]
若扫描所述待采样数据的次数i小于等于所述样本数量s,重复执行所述将第i次扫描的所述待采样数据添加至所述样本数据集合中,更新扫描所述待采样数据的次数i=i
1,直至i>s;
[0018]
将第i次扫描的所述待采样数据以s/i的概率添加至所述样本数据集合中,并删除原样本数据集合中的一个样本数据,更新扫描所述待采样数据的次数i=i 1,其中,i>s,i≤n,n为所述待采样数据集合中所述待采样数据的数量;
[0019]
若扫描所述待采样数据的次数i小于等于n,重复执行所述将第i次扫描的所述待采样数据以s/i的概率添加至所述样本数据集合中,并删除原样本数据集合中的一个样本数据,更新扫描所述待采样数据的次数i=i 1,直至i>n。
[0020]
可选的,所述根据所述样本数据集合,生成直方图,包括:
[0021]
根据所述样本数据集合中所有所述样本数据的数值,将所述样本数据集合的数值范围平均划分为多个区间;
[0022]
根据所有所述区间及其各自区间内的所述样本数据的数量,生成等宽直方图。
[0023]
可选的,所述根据所述样本数据集合中所有所述样本数据的数值,将所述样本数据集合的数值范围平均划分为多个区间,包括:
[0024]
根据所述样本数据集合中所有所述样本数据的数值,确定所有所述样本数据的数值中的最大值和最小值;
[0025]
根据所述最小值和所述最大值组成的区间,确定所述样本数据集合的数值范围;
[0026]
将所述样本数据集合的数值范围平均划分为多个区间。
[0027]
可选的,所述根据所述样本数据集合,生成直方图,包括:
[0028]
将所述样本数据集合中的所有所述样本数据按照从小到大的顺序进行排列;
[0029]
将按照从小到大的顺序排列的所有所述样本数据平均划分为多个样本数据子集合;
[0030]
根据所有所述样本数据子集合中的所述样本数据的数值和数量,生成等深直方图。
[0031]
可选的,根据所有所述样本数据子集合中的所述样本数据的数值和数量,生成等深直方图,包括:
[0032]
根据所有所述样本数据子集合中的所述样本数据的数值,将所述样本数据集合的数值范围划分为多个区间,所有所述区间中的所述样本数据的数量均与所述样本数据子集合中的所述样本数据的数量相同;
[0033]
根据所有所述区间和所述区间中的所述样本数据的数量,生成所述等深直方图。
[0034]
第二方面,本发明实施例提供了一种数据处理装置,包括:
[0035]
获取模块,用于获取构建直方图时分配的内存的容量;
[0036]
确定模块,用于根据待采样数据集合中的待采样数据的长度和所述内存的容量,确定样本数量;从所述待采样数据集合中以固定概率抽取多个所述待采样数据,形成样本数据集合,所述样本数据集合中的样本数据的数量等于所述样本数量;
[0037]
直方图生成模块,用于根据所述样本数据集合,生成直方图。
[0038]
第三方面,本发明实施例提供了一种电子设备,包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现第一方面提供的任一种方法的步骤。
[0039]
第四方面,本发明实施例提供了计算机可读存储介质,其上存储有计算机程序,所
述计算机程序被处理器执行时实现第一方面提供的任一种方法的步骤。
[0040]
本发明实施例提供的技术方案中,通过获取构建直方图时分配的内存的容量;根据待采样数据集合中的待采样数据的长度和内存的容量,确定样本数量;从待采样数据集合中以固定概率抽取多个待采样数据,形成样本数据集合,样本数据集合中的样本数据的数量等于样本数量;根据样本数据集合,生成所述直方图,能够根据待采样数据的长度确定样本数量,不同类型的待采样数据具有不同的长度,故而可以针对不同类型的待采样数据获取到尽可能大的样本数量,采样比例尽可能的高,从而提升样本数据集合的准确性,进而能够提升数据处理结果的准确性;此外,针对对待采样数据中的待采样数据的数量未知的情况,仍然能够以固定概率抽取待采样数据形成样本数据集合,保证抽取的公平性。
附图说明
[0041]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0042]
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0043]
图1为本发明实施例提供的一种数据处理方法的流程示意图;
[0044]
图2为本发明实施例提供的另一种数据处理方法的流程示意图;
[0045]
图3为本发明实施例提供的又一种数据处理方法的流程示意图;
[0046]
图4为本发明实施例提供的又一种数据处理方法的流程示意图;
[0047]
图5为本发明实施例提供的又一种数据处理方法的流程示意图;
[0048]
图6为本发明实施例提供的一种等宽直方图的示意图;
[0049]
图7为本发明实施例提供的又一种数据处理方法的流程示意图;
[0050]
图8为本发明实施例提供的又一种数据处理方法的流程示意图;
[0051]
图9为本发明实施例提供的一种等深直方图的示意图;
[0052]
图10为本发明实施例提供一种数据处理装置的结构示意图;
[0053]
图11为本发明实施例提供一种电子设备的结构示意图。
具体实施方式
[0054]
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
[0055]
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
[0056]
图1为本发明实施例提供的一种数据处理方法的流程示意图,如图1所示,包括:
[0057]
s101,获取构建直方图时分配的内存的容量。
[0058]
根据样本数据集合中的所有样本数据构建相应的直方图时,需要分配一定的内存空间来存储样本数据集合中的所有样本数据,基于分配的内存空间内存储的样本数据集合
中的所有样本数据,建立直方图。由此可知,分配的内存空间的大小直接影响到样本数据集合中的样本数据的数量,分配的内存空间越大,存储的样本数据集合中的样本数据越多。
[0059]
s103,根据待采样数据集合中的待采样数据的长度和所述内存的容量,确定样本数量。
[0060]
待采样数据集合内的所有待采样数据的类型相同,即待采样数据集合内的所有待采样数据的长度相同,不同的待采样数据集合内的待采样数据的类型不同,不同类型的待采样数据的长度不同。
[0061]
待采样数据集合中的部分待采样数据被抽取,组成样本数据集合,也就是说,样本数据集合中的所有样本数据为待采样数据集合中的部分待采样数据,如此,待采样数据的长度即为每个样本数据所占的内存的大小。根据每个样本数据所占的内存的大小以及分配的用于存储样本数据集合的内存的容量,可以获得样本数据集合中样本数据的数量,即样本数量。
[0062]
综上所述,针对不同类型的待采样数据,由于其具有不同的长度,故而能够获取到不同的样本数量,如此,针对不同类型的待采样数据,能够获取到尽可能大的样本数量,可能高的采样比例尽,样本数据集合更接近待采样数据集合,即样本数据集合接近真实值,提升了样本数据集合的准确性,从而能够保证后续数据处理结果的准确性。
[0063]
s105,从所述待采样数据集合中以固定概率抽取多个所述待采样数据,形成样本数据集合。
[0064]
所述样本数据集合中的样本数据的数量等于所述样本数量。
[0065]
基于上述实施例,样本数量已经确定,例如:样本数量为100,待采样数据集合中的待采样数据的数量为n,从n个待采样数据中以100/n的概率抽取100个待采样数据作为样本数据,这100个样本数据组成样本数据集合。显然,针对待采样数据中的待采样数据的数量未知的情况,仍然能够以固定概率抽取待采样数据形成样本数据集合,保证抽取的公平性。
[0066]
s107,根据所述样本数据集合,生成所述直方图。
[0067]
将样本数据集合中的样本数据的数值作为横坐标,将横坐标划分为多个区间,将每个区间内的样本数据的数量作为纵坐标,生成样本数据集合的直方图,通过直方图可以直观的显示样本数据集合中所有样本数据的分布情况。基于上述实施例,可以获得准确性较高的样本数据集合,故而样本数据的分布情况更接近真实情况,即提升了数据处理结果的准确性。
[0068]
本发明实施例提供的技术方案中,通过获取构建直方图时分配的内存的容量;根据待采样数据集合中的待采样数据的长度和内存的容量,确定样本数量;从待采样数据集合中以固定概率抽取多个待采样数据,形成样本数据集合,样本数据集合中的样本数据的数量等于样本数量;根据样本数据集合,生成所述直方图,能够根据待采样数据的长度确定样本数量,不同类型的待采样数据具有不同的长度,故而可以针对不同类型的待采样数据获取到尽可能大的样本数量,采样比例尽可能的高,从而提升样本数据集合的准确性,进而能够提升数据处理结果的准确性;此外,针对对待采样数据中的待采样数据的数量未知的情况,仍然能够以固定概率抽取待采样数据形成样本数据集合,保证抽取的公平性。
[0069]
图2为本发明实施例提供的另一种数据处理方法的流程示意图,图2是图1所示实施例的基础上,执行s103时的一种可能的实施方式的具体描述,如下:
[0070]
s103’,根据如下公式,确定所述样本数量s:
[0071]
s=[s1/l]
[0072]
其中,s1为所述内存的容量,l为所述待采样数据集合中的待采样数据的长度。
[0073]
构建相应的直方图时分配的内存空间的容量为s1,样本数据集合中的样本数据的长度为l,分配的内存空间用于存储样本数据集合,即分配的内存空间内存储的单个样本数据所占的内存空间为l,故而根据s1/l可以计算出样本数量s,若s1/l计算出来的数值为非整数,则对s1/l取整,从而获取到最终的样本数量s。举例来说,样本数据集合中的样本数据的长度为3,构建相应的直方图时分配的内存空间的容量为215,215/3=71.6,[71.6]表示对71.6取整,得到71,则样本数量为71。
[0074]
本发明实施例中,通过根据公式s=[s1/l]获取样本数量s,能够保证样本数量不超过分配的内容空间可存储的样本数据的最大数量,同时,针对不同长度的待采样数据,获取到尽可能大的样本数量。
[0075]
图3为本发明实施例提供的又一种数据处理方法的流程示意图,图3是图1所示实施例的基础上,执行s105是的一种可能的实施方式的具体描述,如下:
[0076]
s1051将第i次扫描的所述待采样数据添加至所述样本数据集合中,更新扫描所述待采样数据的次数i=i 1。
[0077]
其中,1≤i≤s,s为样本数量。
[0078]
s1052,确定扫描所述待采样数据的次数i是否大于s。
[0079]
若否,重复执行s1051

s1052,直至扫描所述待采样数据的次数i大于样本数量s。
[0080]
针对第1次扫描的待采样数据,以1的概率将被抽取至样本数据集合中,针对第i次扫描的待采样数据,若1<i≤s,第i次扫描的待采样数据被抽取的概率为1,如此,使得第1次至第s次扫描的待采样数据全部添加至样本数据集合中。举例而言,样本数量s为100,第1次扫描的待采样数据至第100次扫描的待采样数据,均添加至样本数据集合中。
[0081]
当进行第s 1次扫描待采样数据时,第s 1次扫描的待采样数据开始替换样本数据集合中的前s次扫描的待采样数据,第s 1次扫描的待采样数据被抽取的概率为s/(s 1),样布数据集合中第i次扫描的待采样数据被替换的概率为1/s,则第s 1次扫描的待采样数据替换样布数据集合中第i次扫描的待采样数据的概率为1/(s 1),第i次扫描的待采样数据不被替换的概率为1

1/(s 1)=s/(s 1)。重复执行上述操作,直至第n次扫描的待采样数据,第n次扫描的待采样数据被抽取的概率为s/n,样本数据集合中第i次扫描的待采样数据被替换的概率为1/s,则第n次扫描的待采样数据替换样布数据集合中第i次扫描的待采样数据的概率为1/n,第i次扫描的待采样数据不被替换的概率为1

1/n=(n

1)/n,由此可知,第i次扫描的待采样数据不被替换的概率为s/(s 1)*(s 1)/(s 2)*

.*(n

1)/n=s/n。
[0082]
s1053,将第i次扫描的所述待采样数据以s/i的概率添加至所述样本数据集合中,并删除原样本数据集合中的一个样本数据,更新扫描所述待采样数据的次数i=i 1。
[0083]
其中,i>s,i≤n,n为所述待采样数据集合中所述待采样数据的数量。
[0084]
s1054,确定扫描所述待采样数据的次数i是否大于n。
[0085]
若否,重复执行s1053

s1054,直至扫描所述待采样数据的次数i大于待采样数据集合中待采样数据的数量n。
[0086]
若扫描所述待采样数据的次数i大于样本数量s,针对第i次扫描的待采样数据,i
≤n,在[1,i]内选取随机数d,如果d≤s,则使用第i次扫描的待采样数据替换样本数据集合中的第d次扫描的待采样数据,因此,第i次扫描的待采样数据被抽取至样本数据集合的概率为s/i。
[0087]
当进行第i 1次扫描待采样数据时,第i 1次扫描的待采样数据被抽取至样本数据集合的概率为s/(i 1),样布数据集合中第i次扫描的待采样数据被替换的概率为1/s,第i 1次扫描的待采样数据替换样布数据集合中第i次扫描的待采样数据的概率为1/(i 1),第i次扫描的待采样数据不被替换的概率为1

1/(i 1)=i/(i 1)。重复执行上述操作,直至第n次扫描的待采样数据,第n次扫描的待采样数据被抽取的概率为s/n,样本数据集合中第i次扫描的待采样数据被替换的概率为1/s,则第n次扫描的待采样数据替换样布数据集合中第i次扫描的待采样数据的概率为1/n,第i次扫描的待采样数据不被替换的概率为1

1/n=(n

1)/n,由此可知,第i次扫描的待采样数据不被替换的概率为i/(i 1)*(i 1)/(i 2)*

.*(n

1)/n=s/n。
[0088]
综上所述,在针对待采样数据集合中的未知数量的待采样数据,均以s/n的概率保留至样本数据集合中,即针对未知数量的待采样数据,以固定的概率抽取至样本数据集合中,保证了抽取的公平性。
[0089]
图4为本发明实施例提供的又一种数据处理方法的流程示意图,图4是图1所示实施例的基础上,执行s107时的一种可能的实施方式的具体描述,如下:
[0090]
s201,根据所述样本数据集合中所有所述样本数据的数值,将所述样本数据集合的数值范围平均划分为多个区间。
[0091]
获取样本数据集合中所有样本数据的数值,根据所有样本数据的数值确定出样本数据集合的数值范围,将样本数据集合的数值范围平均划分为多个数值区间,即每个数值区间中最大值和最小值的差值均相等。
[0092]
s203,根据所有所述区间及其各自区间内的所述样本数据的数量,生成等宽直方图。
[0093]
以样本数据的数值为横坐标x,按照所有数值区间对横坐标轴进行划分,横坐标轴上的划分的区间为等宽区间,获取每个等宽区间内的样本数据的数量,并以样本数据的数量为纵坐标y,生成等宽直方图。
[0094]
图5为本发明实施例提供的又一种数据处理方法的流程示意图,图5是图4所示实施例的基础上,执行s201时的一种可能的实施方式的具体描述,如下:
[0095]
s2011,根据所述样本数据集合中所有所述样本数据的数值,确定所有所述样本数据的数值中的最大值和最小值。
[0096]
获取样本数据集合中所有样本数据的数值,确定出所有样本数据的数值中的最大值和最小值。例如,样本数据集合为{1.6,1.9,1.9,2.0,2.4,2.6,2.7,2.7,2.8,2.9,3.4,3.5},样本数据集合中的最大值为3.5,最小值为1.6。
[0097]
s2012,根据所述最小值和所述最大值组成的区间,确定所述样本数据集合的数值范围。
[0098]
基于上述实施例,最大值和最小值组成的区间为[1.6,3.5],可以确定[1.6,3.5]为样本数据集合的数值范围,或者,可以确定[0,3.5]为样本数据集合的数值范围,或者,可以确定[1.6,4]为样本数据集合的数值范围,亦或者,可以确定[0,4]为样本数据集合的数
值范围,本发明实施例对此不做具体限制,满足样本数据集合的数值范围覆盖[最小值,最大值]即可。
[0099]
s2013,将所述样本数据集合的数值范围平均划分为多个区间。
[0100]
示例性的,图6为本发明实施例提供的一种等宽直方图的示意图,基于上述实施例,若样本数据集合的数值范围为[1.6,3.5],将样本数据集合的数值范围平均划分为2个区间,分别为[1.6,2.55]、[2.55,3.5],据此将横坐标划分为2个区间,其中,区间[1.6,2.55]内的样本数据的数量为5,区间[2.55,3.5]内的样本数据的数量为7,生成如图6所示的等宽直方图。
[0101]
需要说明的是,图6仅示例性展示了将样本数据集合的数值范围划分为2个区间,在其他实施方式中,还可以是将样本数据集合的数值范围[1.6,3.5]划分为三个或者三个以上的区间,本发明实施例对此不做具体限制。
[0102]
图7为本发明实施例提供的又一种数据处理方法的流程示意图,图7是图1所示实施例的基础上,执行s107的另一种可能的实施方式的具体描述,如下:
[0103]
s301,将所述样本数据集合中的所有所述样本数据按照从小到大的顺序进行排列。
[0104]
将样本数据集合中的所有样本数据按照从小到大的顺序进行排列,例如,样本数据按照从小到大的顺序进行排列后的样本数据集合可以是{1.6,1.9,1.9,2.0,2.4,2.6,2.7,2.7,2.8,2.9,3.4,3.5}。
[0105]
s303,将按照从小到大的顺序排列的所有所述样本数据平均划分为多个样本数据子集合。
[0106]
示例性的,基于上述实施例,将样本数据集合{1.6,1.9,1.9,2.0,2.4,2.6,2.7,2.7,2.8,2.9,3.4,3.5}的所有样本数据平均划分为4个样本数据子集合,分别为{1.6,1.9,1.9}、{2.0,2.4,2.6}、{2.7,2.7,2.8}和{2.9,3.4,3.5},每个样本数据子集合中的样本数据的数量均为3,即所有样本数据子集合中的样本数据的数量相同。在其他实施方式中,还可以是将样本数据集合{1.6,1.9,1.9,2.0,2.4,2.6,2.7,2.7,2.8,2.9,3.4,3.5}的所有样本数据平均划分为2个或者3个样本数据子集合,本技术对此不做具体限制。
[0107]
s305,根据所有所述样本数据子集合中的所述样本数据的数值和数量,生成等深直方图。
[0108]
以样本数据的数值为横坐标x,其中,横坐标根据各样本数据子集合中的所有样本数据的数值被划分为多个区间,每个区间覆盖对应的样本数据子集合中的所有样本数据的数值,且不会覆盖相邻样本数据子集合中的任意一个样本数据的数值,以样本数据子集合中的样本数据的数量为纵坐标y,生成等深直方图。
[0109]
本发明实施例中,通过将所述样本数据集合中的所有所述样本数据按照从小到大的顺序进行排列;将按照从小到大的顺序排列的所有所述样本数据平均划分为多个样本数据子集合;根据所有所述样本数据子集合中的所述样本数据的数值和数量,生成等深直方图,等深直方图反应出的数据分布的误差较小,能够提升数据处理结果的准确性。
[0110]
图8为本发明实施例提供的又一种数据处理方法的流程示意图,图8是图7所示实施例的基础上,执行s305的一种可能的实施方式的具体描述,如下:
[0111]
s3051,根据所有所述样本数据子集合中的所述样本数据的数值,将所述样本数据
集合的数值范围划分为多个区间。
[0112]
所有所述区间中的所述样本数据的数量均与所述样本数据子集合中的所述样本数据的数量相同。
[0113]
将样本数据集合的数值范围划分为多个区间,每个区域仅覆盖一个数据子集合中的所有样本数据的数值,基于上述实施例,样本数据子集合为{1.6,1.9,1.9}、{2.0,2.4,2.6}、{2.7,2.7,2.8}和{2.9,3.4,3.5},样本数据集合的数值范围为[1.6,3.5],将样本数据集合的数值范围划分为区间[1.6,1.9]、[2.0,2.6]、[2.7,2.8]和[2.9,3.5],每个区间内的样本数据的数量均为3。
[0114]
s3052,根据所有所述区间和所述区间中的所述样本数据的数量,生成所述等深直方图。
[0115]
示例性的,图9为本发明实施例提供的一种等深直方图的示意图,基于上述实施例,将横坐标划分为[1.6,1.9]、[2.0,2.6]、[2.7,2.8]和[2.9,3.5]的区间,每个区间对应的样本数据的数量为3,生成如图9所示的等深直方图。
[0116]
本发明实施例还提供了一种数据处理装置,图10为本发明实施例提供的一种数据处理装置的结构示意图,如图10所示,数据处理装置100包括:
[0117]
获取模块110,用于获取构建直方图时分配的内存的容量。
[0118]
确定模块120,用于根据待采样数据集合中的待采样数据的长度和所述内存的容量,确定样本数量;从所述待采样数据集合中以固定概率抽取多个所述待采样数据,形成样本数据集合,所述样本数据集合中的样本数据的数量等于所述样本数量。
[0119]
直方图生成模块130,用于根据所述样本数据集合,生成直方图。
[0120]
可选的,确定模块120,进一步用于根据如下公式,确定所述样本数量s:
[0121]
s=[s1/l]
[0122]
其中,s1为所述内存的容量,l为所述待采样数据集合中的待采样数据的长度。
[0123]
可选的,确定模块120,进一步用于将第i次扫描的所述待采样数据添加至所述样本数据集合中,更新扫描所述待采样数据的次数i=i 1,其中,1≤i≤s,s为样本数量;若扫描所述待采样数据的次数i小于等于所述样本数量s,重复执行所述将第i次扫描的所述待采样数据添加至所述样本数据集合中,更新扫描所述待采样数据的次数i=i 1,直至i>s;将第i次扫描的所述待采样数据以s/i的概率添加至所述样本数据集合中,并删除原样本数据集合中的一个样本数据,更新扫描所述待采样数据的次数i=i 1,其中,i>s,i≤n,n为所述待采样数据集合中所述待采样数据的数量;若扫描所述待采样数据的次数i小于等于n,重复执行所述将第i次扫描的所述待采样数据以s/i的概率添加至所述样本数据集合中,并删除原样本数据集合中的一个样本数据,更新扫描所述待采样数据的次数i=i 1,直至i>n。
[0124]
可选的,直方图生成模块130,进一步用于根据所述样本数据集合中所有所述样本数据的数值,将所述样本数据集合的数值范围平均划分为多个区间;根据所有所述区间及其各自区间内的所述样本数据的数量,生成等宽直方图。
[0125]
可选的,直方图生成模块130,进一步用于根据所述样本数据集合中所有所述样本数据的数值,确定所有所述样本数据的数值中的最大值和最小值;根据所述最小值和所述最大值组成的区间,确定所述样本数据集合的数值范围;将所述样本数据集合的数值范围
平均划分为多个区间。
[0126]
可选的,直方图生成模块130,进一步用于将所述样本数据集合中的所有所述样本数据按照从小到大的顺序进行排列;将按照从小到大的顺序排列的所有所述样本数据平均划分为多个样本数据子集合;根据所有所述样本数据子集合中的所述样本数据的数值和数量,生成等深直方图。
[0127]
可选的,直方图生成模块130,进一步用于根据所有所述样本数据子集合中的所述样本数据的数值,将所述样本数据集合的数值范围划分为多个区间,所有所述区间中的所述样本数据的数量均与所述样本数据子集合中的所述样本数据的数量相同;根据所有所述区间和所述区间中的所述样本数据的数量,生成所述等深直方图。
[0128]
本发明实施例还提供了一种电子设备,图11为本发明实施例提供的一种电子设备的结构示意图,图11示出了适于用来实现本发明实施例实施方式的示例性电子设备的框图。图11显示的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0129]
如图11所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器16,系统存储器28,连接不同系统组件(包括系统存储器28和处理器16)的总线18。
[0130]
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
[0131]
电子设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备12访问的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0132]
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图11未显示,通常称为“硬盘驱动器”)。尽管图11中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd

rom、dvd

rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明实施例各实施例的功能。
[0133]
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明实施例所描述的实施例中的功能和/或方法。
[0134]
处理器16通过运行存储在系统存储器28中的多个程序中的至少一个程序,从而执行各种功能应用以及数据处理,例如实现上述任一方法实施例的步骤。
[0135]
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例的步骤。
[0136]
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0137]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0138]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0139]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)域连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0140]
本发明实施例还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述任一方法实施例的步骤。
[0141]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0142]
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
转载请注明原文地址:https://win.8miu.com/read-50341.html

最新回复(0)