CN117390455A - 数据处理方法和装置、存储介质及电子设备 - Google Patents
数据处理方法和装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117390455A CN117390455A CN202311689969.XA CN202311689969A CN117390455A CN 117390455 A CN117390455 A CN 117390455A CN 202311689969 A CN202311689969 A CN 202311689969A CN 117390455 A CN117390455 A CN 117390455A
- Authority
- CN
- China
- Prior art keywords
- sampling
- batch
- target
- samples
- sample
- 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.)
- Granted
Links
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 238000003672 processing method Methods 0.000 title abstract description 40
- 238000005070 sampling Methods 0.000 claims abstract description 794
- 238000000034 method Methods 0.000 claims abstract description 80
- 238000012545 processing Methods 0.000 claims abstract description 59
- 238000004590 computer program Methods 0.000 claims description 28
- 238000009826 distribution Methods 0.000 claims description 26
- 230000015654 memory Effects 0.000 claims description 20
- 238000000605 extraction Methods 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 abstract description 20
- 238000013473 artificial intelligence Methods 0.000 abstract description 14
- 230000008569 process Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 15
- 238000004458 analytical method Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000011160 research Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000011835 investigation Methods 0.000 description 5
- 238000003058 natural language processing Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000007619 statistical method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Feedback Control In General (AREA)
- Complex Calculations (AREA)
Abstract
本申请公开了一种数据处理方法和装置、存储介质及电子设备。其中,该方法包括:获取初始样本数量、初始采样数量和设备数量,然后根据这些参数确定目标样本数量和目标采样数量。接着,在目标分布式设备上进行多批次采样,每次采样根据目标分布式设备的采样能力划分样本数量,并随机采样得到每个批次的采样数量。最后,将各个批次的采样结果合并得到目标分布式采样结果,并将一组分布式设备的目标分布式采样结果合并,得到最终的目标采样结果。本申请解决了由于抽样结果的样本个数不够准确,导致抽样数据的处理效率较低的技术问题。本申请实施例可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景。
Description
技术领域
本申请涉及计算机领域,具体而言,涉及一种数据处理方法和装置、存储介质及电子设备。
背景技术
目前,在统计推断中,bootstrap过程是一种非参数的重抽样方法,用于估计统计量的分布、标准差以及置信区间。该方法的基本思想是通过从原始样本中有放回地抽取大量的自助样本(bootstrap样本),然后基于这些自助样本进行统计推断。常规bootstrap过程一般基于spark计算框架实现,通过spark计算框架对分布式数据进行有放回抽样的过程可以理解为使用了近似算法,对每个样本独立地产生一个泊松分布的随机数,来确定这个样本在结果中出现的次数。由于spark计算框架的算法结果是近似的,存在一定误差,而且抽样结果的样本个数无法精确指定,例如,期望精确地抽样M个样本,spark的抽样结果大概率不是精确的M个,而是在M附近的一个随机值,因此,会造成抽样数据的处理结果不够准确,导致抽样数据的处理效率较低的技术问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种数据处理方法和装置、存储介质及电子设备,以至少解决由于抽样结果的样本个数不够准确,导致抽样数据的处理效率较低的技术问题。
根据本申请实施例的一个方面,提供了一种数据处理方法,包括:获取待处理的初始样本数量、需要抽取的初始采样数量和预先确定执行抽样的一组分布式设备的设备数量;根据所述初始样本数量、所述初始采样数量和所述设备数量确定为目标分布式设备分配的目标样本数量和目标采样数量,其中,所述目标样本数量表示所述目标分布式设备上待参与采样的样本数量,所述目标采样数量表示所述目标分布式设备上需要采样出的采样数量;根据所述目标样本数量、所述目标采样数量在所述目标分布式设备上进行多批次采样,确定目标分布式采样结果,其中,所述多批次采样包括从所述目标样本数量开始,依据所述目标分布式设备的采样能力逐批次划分出每个批次待参与采样的样本数量,并从所述目标采样数量开始逐批次随机采样得到每个批次需要采样出的采样数量,对所述每个批次待参与采样的样本数量按照所述每个批次需要采样出的采样数量进行采样,得到各个批次对应的采样结果,将各个批次对应的采样结果合并得到所述目标分布式采样结果;将所述一组分布式设备对应的一组所述目标分布式采样结果进行合并,确定目标采样结果,其中,所述目标采样结果表示对所述初始样本数量按照所述初始采样数量采样的采样结果。
根据本申请实施例的另一方面,还提供了一种数据处理装置,包括:获取模块,用于获取待处理的初始样本数量、需要抽取的初始采样数量和预先确定执行抽样的一组分布式设备的设备数量;分配模块,用于根据所述初始样本数量、所述初始采样数量和所述设备数量确定为目标分布式设备分配的目标样本数量和目标采样数量,其中,所述目标样本数量表示所述目标分布式设备上待参与采样的样本数量,所述目标采样数量表示所述目标分布式设备上需要采样出的采样数量;采样模块,用于根据所述目标样本数量、所述目标采样数量在所述目标分布式设备上进行多批次采样,确定目标分布式采样结果,其中,所述多批次采样包括从所述目标样本数量开始,依据所述目标分布式设备的采样能力逐批次划分出每个批次待参与采样的样本数量,并从所述目标采样数量开始逐批次随机采样得到每个批次需要采样出的采样数量,对所述每个批次待参与采样的样本数量按照所述每个批次需要采样出的采样数量进行采样,得到各个批次对应的采样结果,将各个批次对应的采样结果合并得到所述目标分布式采样结果;合并模块,用于将所述一组分布式设备对应的一组所述目标分布式采样结果进行合并,确定目标采样结果,其中,所述目标采样结果表示对所述初始样本数量按照所述初始采样数量采样的采样结果。
可选地,所述装置用于通过如下方式根据所述目标样本数量、所述目标采样数量在所述目标分布式设备上进行多批次采样,确定目标分布式采样结果:从所述目标样本数量开始,依据所述目标分布式设备的采样能力逐批次划分出每一批次对应的当前样本数量和剩余样本数量,其中,所述剩余样本数量用于确定下一批次对应的所述当前样本数量;从所述目标采样数量开始逐批次随机采样,得到每一批次对应的当前采样数量和剩余采样数量,其中,所述剩余采样数量用于确定下一批次对应的所述当前采样数量;对所述当前样本数量按照所述当前采样数量进行采样,得到当前采样结果;将各个批次对应的所述当前采样结果合并,得到所述目标分布式采样结果。
可选地,所述装置还用于:在所述目标分布式设备包括一个线程的情况下,控制所述一个线程从所述目标样本数量开始,依据所述目标分布式设备的采样能力逐批次划分出每一批次对应的当前样本数量和剩余样本数量,并从所述目标采样数量开始逐批次随机采样,得到每一批次对应的当前采样数量和剩余采样数量;在所述目标分布式设备包括多个线程的情况下,控制所述多个线程交替从所述目标样本数量开始,依据所述目标分布式设备的采样能力逐批次划分出每一批次对应的当前样本数量和剩余样本数量,并从所述目标采样数量开始逐批次进行随机采样,得到每一批次对应的当前采样数量和剩余采样数量,其中,每一批次下,允许一个空闲线程依据所述目标分布式设备的采样能力划分出每一批次对应的当前样本数量和剩余样本数量,并进行随机采样得到每一批次对应的当前采样数量和剩余采样数量。
可选地,所述装置用于通过如下方式从所述目标采样数量开始逐批次随机采样,得到每一批次对应的当前采样数量和剩余采样数量:从所述目标采样数量开始逐批次有放回的随机采样,得到所述当前采样数量和所述剩余采样数量;或者从所述目标采样数量开始逐批次无放回的随机采样,得到所述当前采样数量和剩余采样数量。
可选地,所述装置用于通过如下方式根据所述目标样本数量、所述目标采样数量在所述目标分布式设备上进行多批次采样,确定目标分布式采样结果:在所述多批次采样包括j批次采样的情况下,将第a-1批次剩余样本数量划分为第a批次样本数量和第a批次剩余样本数量,其中,a为大于或等于2的正整数,a=2时,所述第a-1批次剩余样本数量为所述目标样本数量,所述第a-1批次剩余采样数量为所述目标采样数量,j为大于或等于a的正整数;利用随机数从第a-1批次剩余采样数量中采样出第a批次采样数量和第a批次剩余采样数量;从第a批次样本数量中按照第a批次采样数量进行采样,得到第a批次采样结果;在第j-1批次剩余样本数量满足第一预设条件或第j批次剩余采样数量满足第二预设条件的情况下,根据j批次采样结果确定所述目标分布式采样结果。
可选地,所述装置还用于:在所述目标分布式设备包括一个空闲线程的情况下,控制所述一个空闲线程逐批次执行所述j批次采样;在所述目标分布式设备包括多个空闲线程的情况下,控制第一空闲线程将第b-1批次剩余样本数量划分为第b批次样本数量和第b批次剩余样本数量,利用随机数从第b-1批次剩余采样数量中采样出第b批次采样数量和第b批次剩余采样数量,其中,b为大于或等于2的正整数,b=2时,所述第b-1批次剩余样本数量为所述目标样本数量,所述第b-1批次剩余采样数量为所述目标采样数量,j为大于或等于b的正整数;控制所述第一空闲线程从第b批次样本数量中按照第b批次采样数量进行采样,得到第b批次采样结果,并控制第二空闲线程将第b批次剩余样本数量划分为第b+1批次样本数量和第b+1批次剩余样本数量,利用随机数从第b批次剩余采样数量中采样出第b+1批次采样数量和第b+1批次剩余采样数量;控制所述第二空闲线程从第b+1批次样本数量中按照第b+1批次采样数量进行采样,得到第b+1批次采样结果,并控制第三空闲线程将第b+1批次剩余样本数量划分为第b+2批次样本数量和第b+2批次剩余样本数量,利用随机数从第b+1批次剩余采样数量中采样出第b+2批次采样数量和第b+2批次剩余采样数量,其中,所述第一空闲线程完成第b批次采样的情况下,所述第三空闲线程允许与所述第一空闲线程相同。
可选地,所述装置用于通过如下方式在第j-1批次剩余样本数量满足第一预设条件或第j批次剩余采样数量满足第二预设条件的情况下,根据j批次采样结果确定所述目标分布式采样结果:在所述第j-1批次剩余样本数量小于或等于所述目标分布式设备预设的处理样本阈值的情况下,根据j批次采样结果确定所述目标分布式采样结果;或者在第j批次剩余采样数量为0的情况下,根据j批次采样结果确定所述目标分布式采样结果。
可选地,所述装置还用于:通过如下方式对所述每个批次待参与采样的样本数量按照所述每个批次需要采样出的采样数量进行采样,得到每个批次的采样结果,其中,所述每个批次待参与采样的样本数量视为N,所述每个批次需要采样出的采样数量视为M,每个批次进行采样的方式为将N划分为d行样本,逐行采样出M个样本,d,N,M均为正整数:将第c-1行剩余样本数量划分为第c行样本数量和第c行剩余样本数量,并从第c-1行剩余采样数量中确定出第c行采样数量和第c行剩余采样数量,其中,c为大于或等于2的正整数,c=2时,所述第c-1行剩余样本数量为N,所述第c-1批次剩余采样数量为M,c小于或等于d;从第c行样本数量中按照第c行采样数量进行采样,得到第c行采样结果,并根据所述第c行剩余样本数量和所述第c行剩余采样数量分别确定与第c行对应的第一时间复杂度和第二时间复杂度;根据第c行对应的第一时间复杂度和第二时间复杂度的比较关系执行第c+1行采样,直到确定出d个采样结果,将所述d个采样结果合并,得到每个批次对应的采样结果。
可选地,所述装置用于通过如下方式根据第c行对应的第一时间复杂度和第二时间复杂度的比较关系执行第c+1行采样,直到确定出d个采样结果,将所述d个采样结果合并,得到每个批次对应的采样结果:在所述第一时间复杂度小于或等于所述第二时间复杂度的情况下,将第c行剩余样本数量划分为第c+1行样本数量和第c+1行剩余样本数量,从第c行剩余采样数量中确定出第c+1行采样数量和第c+1行剩余采样数量,从第c+1行样本数量中按照第c+1行采样数量进行采样,得到第c+1行采样结果,并根据所述第c+1行剩余样本数量和所述第c+1行剩余采样数量分别确定与第c+1行对应的第一时间复杂度和第二时间复杂度;在所述第一时间复杂度大于所述第二时间复杂度的情况下,从第c行剩余样本数量中进行与所述第c行剩余采样数量相同次数的随机采样,得到第d行采样结果。
可选地,所述装置用于通过如下方式根据所述初始样本数量、所述初始采样数量和所述设备数量确定为目标分布式设备分配的目标样本数量和目标采样数量:根据所述初始样本数量和所述设备数量确定所述目标样本数量;从所述一组分布式设备中每次抽取任一个分布式设备,抽取次数为所述初始采样数量,将抽取到所述目标分布式设备的次数确定为所述目标采样数量。
可选地,所述装置用于通过如下方式根据所述初始样本数量和所述设备数量确定所述目标样本数量:获取所述一组分布式设备中各个分布式设备的采样能力,其中,所述采样能力包括与所述目标分布式设备对应的目标采样能力;利用所述设备数量对所述初始样本数量进行均衡处理,确定为所述各个分布式设备分配的样本数量平均值;根据所述采样能力确定所述各个分布式设备对应的权重值,其中,所述各个分布式设备对应的权重值之和为1,所述权重值包括与所述目标分布式设备对应的目标权重值;根据所述样本数量平均值和所述目标权重值确定所述目标样本数量。
可选地,所述装置用于通过如下方式从所述一组分布式设备中每次抽取任一个分布式设备,抽取次数为所述初始采样数量,将抽取到所述目标分布式设备的次数确定为所述目标采样数量:在从所述一组分布式设备中抽取出所述目标分布式设备的情况下,更新所述目标采样数量;在已抽取出的分布式设备的数量与所述初始采样数量相同的情况下,确定所述目标采样数量。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述数据处理方法。
根据本申请实施例的又一方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上数据处理方法。
根据本申请实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的数据处理方法。
在本申请实施例中,采用获取待处理的初始样本数量、需要抽取的初始采样数量和预先确定执行抽样的一组分布式设备的设备数量,根据初始样本数量、初始采样数量和设备数量确定为目标分布式设备分配的目标样本数量和目标采样数量,其中,目标样本数量表示目标分布式设备上待参与采样的样本数量,目标采样数量表示目标分布式设备上需要采样出的采样数量,根据目标样本数量、目标采样数量在目标分布式设备上进行多批次采样,确定目标分布式采样结果,其中,多批次采样包括从目标样本数量开始,依据目标分布式设备的采样能力逐批次划分出每个批次待参与采样的样本数量,并从目标采样数量开始逐批次随机采样得到每个批次需要采样出的采样数量,对每个批次待参与采样的样本数量按照每个批次需要采样出的采样数量进行采样,得到各个批次对应的采样结果,将各个批次对应的采样结果合并得到目标分布式采样结果,将一组分布式设备对应的一组目标分布式采样结果进行合并,确定目标采样结果,其中,目标采样结果表示对初始样本数量按照初始采样数量采样的采样结果的方式,通过获取初始样本数量、初始采样数量和设备数量,然后根据这些参数确定目标样本数量和目标采样数量。接着,在目标分布式设备上进行多批次采样,每次采样根据目标分布式设备的采样能力划分样本数量,并随机采样得到每个批次的采样数量。最后,将各个批次的采样结果合并得到目标分布式采样结果,并将一组分布式设备的目标分布式采样结果合并得到最终的目标采样结果,达到了对各个分布式设备上的样本分块处理的目的,从而实现了提高抽样数据的处理准确率,优化抽样数据的处理效率的技术效果,进而解决了由于抽样结果的样本个数不够准确,导致抽样数据的处理效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的数据处理方法的应用环境的示意图;
图2是根据本申请实施例的一种可选的数据处理方法的流程示意图;
图3是根据本申请实施例的一种可选的数据处理方法的示意图;
图4是根据本申请实施例的又一种可选的数据处理方法的示意图;
图5是根据本申请实施例的又一种可选的数据处理方法的示意图;
图6是根据本申请实施例的又一种可选的数据处理方法的示意图;
图7是根据本申请实施例的又一种可选的数据处理方法的示意图;
图8是根据本申请实施例的又一种可选的数据处理方法的示意图;
图9是根据本申请实施例的又一种可选的数据处理方法的示意图;
图10是根据本申请实施例的一种可选的数据处理装置的结构示意图;
图11是根据本申请实施例的一种可选的数据处理产品的结构示意图;
图12是根据本申请实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
二项分布:在概率论和统计学中,二项分布是n个独立的成功/失败试验中成功的次数的离散概率分布,其中每次试验的成功概率为p。这样的单次成功/失败试验又称为伯努利试验。实际上,当n=1时,上述二项分布即为伯努利分布。
分布式计算:多台计算机由网络互相连接后,共同执行同一个计算任务的过程。
抽样:统计学概念,从总体中抽取一部分个体的过程,比如一个班级有N个人,被称为总体,从N个人中抽取M个人的过程,就是一种从总体中抽样的过程。
有放回抽样:在抽样的过程中,每次抽取后,都把被抽取的个体重新放回总体中。
无放回抽样:在抽样的过程中,每次抽取后,都不把被抽取的个体重新放回总体中。
多项分布:一种概率分布,可以用如下参数表示:n,k,p1, p2, …, pk,用Mul(n,k,p1,p2,…,pk)。
超几何分布:一种概率分布,可以用如下参数表示:N,K,n,用Hyp(N, K, n)。
二项分布:一种概率分布,可以用如下参数表示:n,p,用Bin(n,p)表示,是多项分布的一种特殊情况,也可以用Mul(n,2,p,1-p)表示。
下面结合实施例对本申请进行说明:
根据本申请实施例的一个方面,提供了一种数据处理方法,可选地,在本实施例中,上述数据处理方法可以应用于如图1所示的由服务器101和终端设备103所构成的硬件环境中。如图1所示,服务器101通过网络与终端设备103进行连接,可用于为终端设备或终端设备上安装的应用程序提供服务,应用程序可以是视频应用程序、即时通信应用程序、浏览器应用程序、教育应用程序、游戏应用程序等。可在服务器上或独立于服务器设置数据库105,用于为服务器101提供数据存储服务,例如,游戏数据存储服务器,上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络,终端设备103可以是配置有应用程序的终端,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视、智能语音交互设备、智能家电、车载终端、飞行器、虚拟现实(Virtual Reality,简称VR)终端、增强现实(Augmented Reality,简称AR)终端、混合现实(Mixed Reality,简称MR)终端等计算机设备,上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。
结合图1所示,上述数据处理方法可以由电子设备执行,该电子设备可以是终端设备或服务器,上述数据处理方法可以由终端设备或服务器分别实现,或由终端设备和服务器共同实现。
在一个示例性的实施例中,如图1所示,本申请提出的数据处理方法可以应用在对应用程序进行调查分析的应用场景中,由应用程序的后台服务器101下发采样任务至多个终端设备103,由多个终端设备103执行该采样任务,该采样任务表示需要从应用程序的多个使用对象对应的多个样本对象数据中采样出N个使用对象对应的N个采样对象数据,N为大于0的一个正整数,后台服务器101根据上述多个终端设备103中的每个终端设备的采样能力为多个终端设备103中的每个终端设备分配对应的样本对象数据的数量和采样对象数据的数量。
进一步地,多个终端设备103中的每个终端设备从分配到的样本对象数据中采样出采样对象数据,得到采样结果,多个终端设备103分别将各自的采样结果上传至后台服务器101,由后台服务器101对多个采样结果进行汇总,得到上述N个采样对象数据,后台服务器101通过对N个采样对象数据进行统计分析,可以得到应用程序的使用对象的对象特征,根据该对象特征对目标程序的功能与服务进行更新升级,为使用对象提供个性化的对象体验,从而提高目标程序中使用对象的留存率。
通过本申请,可以预先设置采样对象数据的个数为N个,由后台服务器101下发采样任务至多个终端设备103,由多个终端设备103执行采样任务,后台服务器101根据多个终端设备103的采样能力的不同将采样任务进行划分,分配不同数量的样本对象数据与采样对象数据至多个终端设备103的每个终端设备,最终由服务器101对每个终端设备上传的采样结果进行汇总,得到与预先设置的采样对象数据的个数相同的N个采样对象数据,也即,服务器101汇总每个终端设备103上传的采样结果之后,该采样结果表示N个采样对象数据,达到了对样本对象数据准确采样,以得到与预设的采样对象数据的个数相同的N个采样对象数据,便于后续对采样对象数据进行处理和分析,提高了采样对象数据处理的效率和准确性的技术效果,从而,解决了由于采样结果的样本个数不够准确,导致采样数据的处理效率较低的技术问题。
上述仅是一种示例,本实施例不做具体的限定。
可选地,作为一种可选的实施方式,如图2所示,上述数据处理方法包括:
S202,获取待处理的初始样本数量、需要抽取的初始采样数量和预先确定执行抽样的一组分布式设备的设备数量;
可选地,在本实施例中,上述获取待处理的初始样本数量可以理解为在进行抽样之前,需要确定待处理的样本总量。例如,在一个市场调研项目中,如果要对某个产品的用户进行调查,则上述获取待处理的初始样本数量即为需要确定调查的总人数。
可选地,在本实施例中,上述需要抽取的初始采样数量可以理解为在进行抽样过程中,需要从待处理的样本中抽取的初始样本数量。例如,在上述市场调研项目中,如果决定从中抽取1000名用户进行调查,那么需要抽取的初始采样数量就是1000。
可选地,在本实施例中,上述预先确定执行抽样的一组分布式设备的设备数量可以理解为在进行抽样过程中,需要使用的分布式设备的数量。例如,在一个大规模数据分析项目中,如果决定使用10台分布式服务器进行数据处理,那么预先确定执行抽样的一组分布式设备的设备数量就是10。
在一个示例性的实施例中,假设要进行一项关于某个城市居民购物行为的调查。首先,需要获取待处理的初始样本数量,也就是需要调查的居民总人数。假设这个城市有100万居民,获取到的待处理的初始样本数量即为100万。
接下来,确定需要抽取的初始采样数量。假设决定抽取1000名居民进行调查,那么需要抽取的初始采样数量即为1000。
最后,需要预先确定执行抽样的一组分布式设备的设备数量。假设决定使用5台分布式服务器进行数据处理,那么预先确定执行抽样的一组分布式设备的设备数量就是5。
需要说明的是,分布式设备指的是一个系统或网络中的多个设备,这些设备相互协作并共同完成特定任务。与传统集中式设备不同,分布式设备具有以下特点:
去中心化:分布式设备之间没有单一的控制节点,而是通过协议和算法相互通信和协作。
并行处理:分布式设备能够并行处理任务,通过分配任务到不同的设备上,可以提高系统的处理能力和效率。
故障容忍:由于分布式设备是由多个节点组成,即使其中一个节点出现故障,系统仍然可以继续运行。
数据共享:分布式设备可以共享数据,不同设备之间可以实现数据的传输和共享,提高系统的灵活性和扩展性。
可扩展性:通过增加更多的设备,可以扩展分布式系统的能力,适应不断增长的需求。
安全性:分布式设备可以通过加密和身份验证等安全措施保护数据和系统的安全性。
因此,分布式设备在各种领域广泛应用,例如云计算、物联网、分布式数据库、分布式文件系统等。它们能够提供高可用性、高性能和高可扩展性的解决方案。
在一个示例性的实施例中,上述一组分布式设备可以包括但不限于部署在区块链中的分布式设备。本申请实施例涉及的系统可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。
以分布式系统为区块链系统为例,图3是根据本申请实施例的又一种可选的数据处理方法的示意图,参见图3,本申请实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端300形成,节点之间形成组成的点对点网络,点对点协议是一个运行在传输控制协议(TCP,Transmission Control Protocol )协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图3示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易,即将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块 (Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
图4是根据本申请实施例的又一种可选的数据处理方法的示意图,参见图4,表示本申请实施例提供的区块结构(Block Structure)的一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)以及用于产生下一个区块。
S204,根据初始样本数量、初始采样数量和设备数量确定为目标分布式设备分配的目标样本数量和目标采样数量,其中,目标样本数量表示目标分布式设备上待参与采样的样本数量,目标采样数量表示目标分布式设备上需要采样出的采样数量;
可选地,在本实施例中,上述目标分布式设备可以理解为上述一组分布式设备中的任一个分布式设备,上述目标样本数量和目标采样数量均是与目标分布式设备对应的参数,用于表示目标分布式设备上待参与采样的样本数量和需要采样出的采样数量。
在分布式系统中,为了提高系统的性能和效率,通常会将任务和数据分配到不同的设备上进行处理。为目标分布式设备分配上述目标样本数量和目标采样数量可以理解为根据初始样本数量、初始采样数量和设备数量,确定每个设备分配的目标样本数量和目标采样数量。
需要说明的是,上述目标样本数量可以理解为在分布式设备中待参与采样的样本数量。具体来说,当有一个初始样本集合时,根据系统的需求和性能要求,需要确定每个设备上参与采样的样本数量。这样可以确保每个设备都有足够的数据进行分析和处理。
示例性地,假设有一个分布式机器学习系统,其中包含10台设备,并且有10000个初始样本。根据系统的需求和性能要求,决定将每个设备上的样本数量设置为1000个。这样,每个设备上都有足够的数据进行模型训练和预测。
具体而言,上述分布式机器学习系统可以理解为基于人工智能实现的机器学习系统。
其中,人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
可选地,在本实施例中,上述初始样本数量可以理解为图像、语音、文字等各种场景下的样本,因此,可以应用于包括但不限于如下基于人工智能的应用场景:
计算机视觉技术(Computer Vision, CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
语音技术(Speech Technology)的关键技术有自动语音识别技术(ASR)和语音合成技术(TTS)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
自然语言处理(Nature Language processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
可选地,在本实施例中,上述目标采样数量可以理解为在目标分布式设备上需要采样出的采样数量。采样是指从样本集合中选择部分样本进行分析和处理的过程。根据系统的需求和性能要求,确定每个设备上需要采样出的样本数量。
示例性地,假设要从每个设备的样本集合中采样出200个样本进行分析和处理。这样,每个设备上都会有200个样本供后续的任务使用。
在一个示例性的实施例中,假设有一个分布式数据分析系统,其中包含4台设备,并且有2000个初始样本,该初始样本包括但不限于图像样本、语音样本、文字样本等。根据系统的需求和性能要求,决定将每个设备上的样本数量设置为500个,并且每个设备上需要采样出100个样本进行分析。
因此:
在设备1上,分配了500个待采样样本,需要采样100个样本。
在设备2上,分配了500个待采样样本,需要采样100个样本。
在设备3上,分配了500个待采样样本,需要采样100个样本。
在设备4上,分配了500个待采样样本,需要采样100个样本。
通过上述分配方式,每个设备上都有足够的样本进行分析和处理,并且每个设备都能满足系统对目标样本数量和目标采样数量的需求。这样可以确保分布式系统的性能和效率。
在一个具体的实施例中,以上述样本是图像样本为例,图5是根据本申请实施例的又一种可选的数据处理方法的示意图,参见图5,待处理的初始样本数量为60000个,初始采样数量为2000个,当前存在5个分布式设备,则可以将初始样本数量划分成5份,再将初始采样数量划分成5份,机器502、机器504、机器506、机器508以及机器510分配的样本数量和采样数量可以相同或者不同,例如,机器502分配的待采样的样本数量为18000、机器504分配的待采样的样本数量为16000、机器506分配的待采样的样本数量为14000、机器508分配的待采样的样本数量为8000以及机器510分配的待采样的样本数量为4000,为不同机器分配不同的待采样的样本数量取决于不同机器的计算能力,此时,还可以为不同机器设置相同或不同的需要采样出的样本数量的指标,例如,机器502、机器504、机器506、机器508以及机器510均需要采样出400个样本。
在另一个具体的实施例中,以上述样本是语音样本为例,图6是根据本申请实施例的又一种可选的数据处理方法的示意图,参见图6,机器602、机器604、机器606、机器608以及机器610分配的样本数量和采样数量可以相同或者不同,例如,机器602、机器604、机器606、机器608以及机器610均分配的待采样的样本数量为12000,机器602、机器604、机器606、机器608以及机器610均需要采样出400个样本。
在又一个具体的实施例中,以上述样本是文字样本为例,图7是根据本申请实施例的又一种可选的数据处理方法的示意图,参见图7,机器702、机器704、机器706、机器708以及机器710分配的样本数量和采样数量可以相同或者不同,例如,机器702、机器704、机器706、机器708以及机器710均分配的待采样的样本数量为12000,机器702需要采样出600个样本、机器704需要采样出500个样本、机器706需要采样出400个样本、机器708需要采样出300个样本以及机器710均需要采样出200个样本。
S206,根据目标样本数量、目标采样数量在目标分布式设备上进行多批次采样,确定目标分布式采样结果,其中,多批次采样包括从目标样本数量开始,依据目标分布式设备的采样能力逐批次划分出每个批次待参与采样的样本数量,并从目标采样数量开始逐批次随机采样得到每个批次需要采样出的采样数量,对每个批次待参与采样的样本数量按照每个批次需要采样出的采样数量进行采样,得到各个批次对应的采样结果,将各个批次对应的采样结果合并得到目标分布式采样结果;
可选地,在本实施例中,上述目标分布式设备的采样能力可以理解为目标分布式设备的核心数、线程数等一个或多个处理参数所指示的采样能力,当然,采样能力可以分级别表示也可以直接通过数值表示。
需要说明的是,上述目标分布式设备将根据自身的采样能力来进行多批次的采样,也就是说,将从目标样本数量的样本中确定出目标采样数量的样本的采样任务分为多个批次进行,在划分出每个批次待参与采样的样本数量之后,从目标样本数量开始,按照每个批次需要采样的样本数量进行随机采样,得到每个批次需要采样出的样本。
进一步地,上述多个批次得到的采样结果可以相同,也可以不同,上述目标分布式采样结果即包括多个批次的采样结果,例如,一共需要进行3个批次的采样,第一批次的采样结果是样本A,而第二批次的采样结果是样本B,第三批次的采样结果依旧是样本A,得到的目标分布式采样结果中包括样本A,样本B,样本A。
示例性地,图8是根据本申请实施例的又一种可选的数据处理方法的示意图,参见图8,分布式设备802需要进行采样,将采样任务分为j个批次进行,每个批次分别进行采样,得到每个批次的采样结果804,最终将每个批次的采样结果804进行合并,得到分布式设备802的目标分布式采样结果806,从N1个待采样样本中采样出n1个采样样本。
假设有一项研究需要从一个公司的员工中抽取样本进行调查。公司共有1000名员工,目标样本数量为200人。为了提高采样效率,研究人员决定进行分布式采样,将采样任务分为5个批次,每个批次采样40人。
首先,根据目标样本数量和分布式设备的采样能力,将样本数量划分到每个批次中,确定每个批次需要采样的样本数量为40人。然后,从目标样本数量开始,按照每个批次需要采样的样本数量进行随机采样。例如,第一批次从1000名员工中随机抽取40人,得到第一批次的采样结果;第二批次从剩下的960名员工中随机抽取40人,得到第二批次的采样结果,依此类推,直到完成5个批次的采样。通过这样的分布式采样方法,研究人员可以在保证样本代表性的前提下,提高采样效率,减少采样过程中的时间和资源消耗。
S208,将一组分布式设备对应的一组目标分布式采样结果进行合并,确定目标采样结果,其中,目标采样结果表示对初始样本数量按照初始采样数量采样的采样结果。
可选地,在本申请实施例中,上述目标采样结果可以包括但不限于样本特征、采样方法、样本选择过程等,目标采样结果包括一组分布式设备中每个分布式设备对应的采样结果,并且,每个分布式设备在进行采样时,可以将采样任务分成多批次采样,待多批次采样结束后,将每个批次采样得到的结果进行合并,表示该分布式设备的采样结果。
示例性地,图9是根据本申请实施例的又一种可选的数据处理方法的示意图,参见图9,参与采样的样本902的样本数量为N个,将N个样本分至一组分布式设备904,该一组分布式设备904包括4个分布式设备,分别是N1,N2,N3,N4,通过这一组分布式设备904分别进行采样得到目标分布式采样结果906,其中,N1对应的采样结果为n1,N2对应的采样结果为n2,N3对应的采样结果为n3,N4对应的采样结果为n4,将n1,n2,n3,n4进行合并,得到目标采样结果。
在一个示例性的实施例中,本申请提出的数据处理方法可以应用于对应用程序进行调查分析的应用场景中,可以通过如下步骤实现:
S1,获取应用程序的使用对象数据作为待采样的1000个目标样本;
S2,确定从目标样本中进行采样,需要得到100个采样样本;
S3,将1000个目标样本均分给4台分布式设备进行采样,每一台分布式设备的采样任务为从500个目标样本中采样出25个采样样本;
S4,两台分布式设备将采样任务进行多批次采样,分为5个批次采样,每个批次的采样任务均为从100个目标样本中采样出5个采样样本;
S5,剩余两台分布式设备直接进行采样任务,分别从500个目标样本中各自采样出25个采样样本;
S6,将S4、S5得到的采样结果进行合并,得到100个采样样本。
在又一个示例性的实施例中,本申请提出的数据处理方法可以应用于产品质量检测的应用场景中,可以通过如下步骤实现:
S1,获取目标产品的使用对象数据作为待采样的1000个目标样本;
S2,确定从目标样本中进行采样,需要得到100个采样样本;
S3,将1000个目标样本分给4台分布式设备(分布式设备A,分布式设备B,分布式设备C,分布式设备D)进行采样,根据分布式设备的采样能力,分布式设备A的采样任务为从200个目标样本中采样出20个采样样本,分布式设备B的采样任务为从400个目标样本中采样出50个采样样本,分布式设备C的采样任务为从100个目标样本中采样出10个采样样本,分布式设备D的采样任务为从300个目标样本中采样出20个采样样本;
S4,分布式设备A将采样任务进行多批次采样,分为2个批次采样,每个批次的采样任务为分别从100个目标样本中各自采样出10个采样样本;
S5,分布式设备B将采样任务进行多批次采样,分为4个批次采样,第一个批次的采样任务为从100个目标样本中各自采样出10个采样样本,第二个批次的采样任务为从100个目标样本中各自采样出20个采样样本,第三个批次的采样任务为从150个目标样本中各自采样出15个采样样本,第四个批次的采样任务为从50个目标样本中各自采样出5个采样样本;
S6,分布式设备C直接进行采样任务,从100个目标样本中采样出10个采样样本;
S7,分布式设备D直接进行采样任务,从300个目标样本中采样出20个采样样本;
S8,将S4、S5、S6、S7得到的采样结果进行合并,得到100个采样样本。
通过对S8中得到的100个采样样本进行统计分析,可以获取目标产品的产品质量数据,根据采样样本确定目标产品的性能以及功能是否满足使用对象的要求,提高了对目标产品进行质量检测的处理效率,并且,使用根据本申请提出的数据处理方法采样得到的样本数据对多个目标产品的质量进行预测,预测准确程度更高。
通过本申请实施例,采用获取待处理的初始样本数量、需要抽取的初始采样数量和预先确定执行抽样的一组分布式设备的设备数量,根据初始样本数量、初始采样数量和设备数量确定为目标分布式设备分配的目标样本数量和目标采样数量,其中,目标样本数量表示目标分布式设备上待参与采样的样本数量,目标采样数量表示目标分布式设备上需要采样出的采样数量,根据目标样本数量、目标采样数量在目标分布式设备上进行多批次采样,确定目标分布式采样结果,其中,多批次采样包括从目标样本数量开始,依据目标分布式设备的采样能力逐批次划分出每个批次待参与采样的样本数量,并从目标采样数量开始逐批次随机采样得到每个批次需要采样出的采样数量,对每个批次待参与采样的样本数量按照每个批次需要采样出的采样数量进行采样,得到各个批次对应的采样结果,将各个批次对应的采样结果合并得到目标分布式采样结果,将一组分布式设备对应的一组目标分布式采样结果进行合并,确定目标采样结果,其中,目标采样结果表示对初始样本数量按照初始采样数量采样的采样结果的方式,通过获取初始样本数量、初始采样数量和设备数量,然后根据这些参数确定目标样本数量和目标采样数量。接着,在目标分布式设备上进行多批次采样,每次采样根据目标分布式设备的采样能力划分样本数量,并随机采样得到每个批次的采样数量。最后,将各个批次的采样结果合并得到目标分布式采样结果,并将一组分布式设备的目标分布式采样结果合并得到最终的目标采样结果,达到了对各个分布式设备上的样本分块处理的目的,从而实现了提高抽样数据的处理准确率,优化抽样数据的处理效率的技术效果,进而解决了由于抽样结果的样本个数不够准确,导致抽样数据的处理效率较低的技术问题。
作为一种可选的方案,根据目标样本数量、目标采样数量在目标分布式设备上进行多批次采样,确定目标分布式采样结果,包括:从目标样本数量开始,依据目标分布式设备的采样能力逐批次划分出每一批次对应的当前样本数量和剩余样本数量,其中,剩余样本数量用于确定下一批次对应的当前样本数量;从目标采样数量开始逐批次随机采样,得到每一批次对应的当前采样数量和剩余采样数量,其中,剩余采样数量用于确定下一批次对应的当前采样数量;对当前样本数量按照当前采样数量进行采样,得到当前采样结果;将各个批次对应的当前采样结果合并,得到目标分布式采样结果。
示例性地,上述目标分布式设备进行多批次采样时,可以根据自身的采样能力确定出当前可以执行的采样任务,该采样任务即从当前样本数量中确定出对应的当前采样数量,并根据当前样本数量与目标样本数量得到剩余样本数量,根据当前采样数量与目标采样数量得到剩余采样数量。
例如,目标分布式设备对应的目标样本数量为100,目标采样数量为10,根据目标分布式设备的采样能力进行第一批次的采样任务的划分。确定当前样本数量为10,目标采样数量为2,即第一批次对应的剩余样本数量为90,剩余采样数量为8,在进行第二批次的采样任务划分时,从剩余样本数量90中确定出当前样本数量10,从剩余采样数量8中确定出当前采样数量2,此时,第二批次对应的剩余样本数量为80,剩余采样数量为6,不断更新当前批次对应的剩余样本数量与剩余采样数量,直到完成采样任务,将每个批次的采样结果进行合并,得到目标分布式设备的目标分布式采样结果。
再例如,目标分布式设备对应的目标样本数量为100,目标采样数量为10,根据目标分布式设备的采样能力进行第一批次的采样任务的划分。确定当前样本数量为10,目标采样数量为2,即第一批次对应的剩余样本数量为90,剩余采样数量为8,在进行第二批次的采样任务划分时,从剩余样本数量90中确定出当前样本数量5,从剩余采样数量8中确定出当前采样数量5,此时,第二批次对应的剩余样本数量为85,剩余采样数量为3。
通过本申请实施例,采用根据目标分布式设备的采样能力与目标样本数量,目标采样数量来确定将采样任务划分为不同批次执行,每一个批次的采样任务基于上一批次对应的剩余样本数量与剩余采样数量确定的方式,实现了不同批次同时执行采样任务的技术效果,从而提升了目标分布式设备的采样效率。
作为一种可选的方案,上述方法还包括:在目标分布式设备包括一个线程的情况下,控制一个线程从目标样本数量开始,依据目标分布式设备的采样能力逐批次划分出每一批次对应的当前样本数量和剩余样本数量,并从目标采样数量开始逐批次随机采样,得到每一批次对应的当前采样数量和剩余采样数量;在目标分布式设备包括多个线程的情况下,控制多个线程交替从目标样本数量开始,依据目标分布式设备的采样能力逐批次划分出每一批次对应的当前样本数量和剩余样本数量,并从目标采样数量开始逐批次进行随机采样,得到每一批次对应的当前采样数量和剩余采样数量,其中,每一批次下,允许一个空闲线程依据目标分布式设备的采样能力划分出每一批次对应的当前样本数量和剩余样本数量,并进行随机采样得到每一批次对应的当前采样数量和剩余采样数量。
可选地,在本申请实施例中,上述目标分布式设备可以包括但不限于多个线程,也即,目标分布式设备可以在不同线程同步执行采样任务,多个线程存在的情况下,交替来确定当前批次对应的当前样本数量与当前采样数量,例如:
S1,线程1确定第一批次的当前样本数量为20,当前采样数量为5;
S2,线程1确定第一批次的剩余样本数量为50,剩余采样数量为15;
S3,线程1执行第一批次的采样任务,线程2从第一批次的剩余样本数量50中确定第二批次的当前样本数量为20,从第一批次的剩余采样数量15确定第二批次的当前采样数量为5。
在一个示例性的实施例中,上述控制线程执行采样任务可以通过如下步骤实现:
S1,获取待采样的1000个目标样本;
S2,确定从目标样本中进行采样,需要得到100个采样样本;
S3,将1000个目标样本均分给4台分布式设备(分布式设备A,分布式设备B,分布式设备C,分布式设备D)进行采样,每一台分布式设备的采样任务为从500个目标样本中采样出25个采样样本;
S4,分布式设备A的线程1将采样任务进行多批次采样,确定第一批次的样本数量为250,当前采样数量为5,剩余样本数量为250,剩余采样数量为20;
S4,线程1执行第一批次的采样任务,线程2从第一批次的剩余样本数量300中确定第二批次的当前样本数量为250,从第一批次的剩余采样数量20确定第二批次的当前采样数量为20;
S5,线程2执行第二批次的采样任务;
S6,剩余三台分布式设备(分布式设备B,分布式设备C,分布式设备D)直接进行采样任务,分别从500个目标样本中各自采样出25个采样样本;
S7,将S4、S5、S6得到的采样结果进行合并,得到100个采样样本。
通过获取初始样本数量、初始采样数量和设备数量,根据这些参数确定目标样本数量和目标采样数量。接着,在目标分布式设备上控制线程交替进行多批次采样,每次采样根据目标分布式设备的采样能力划分样本数量,并随机采样得到每个批次的采样数量,将各个批次的采样结果合并得到目标分布式采样结果,并将一组分布式设备的目标分布式采样结果合并得到最终的目标采样结果,通过多线程执行采样任务,处理采样数据的方式,达到了提高采样数据的处理效率的技术效果。
作为一种可选的方案,从目标采样数量开始逐批次随机采样,得到每一批次对应的当前采样数量和剩余采样数量,包括:从目标采样数量开始逐批次有放回的随机采样,得到当前采样数量和剩余采样数量;或者从目标采样数量开始逐批次无放回的随机采样,得到当前采样数量和剩余采样数量。
可选地,在本申请实施例中,从目标采样数量逐个批次进行随机采样,可以包括但不限于有放回采样,无放回采样。
例如,从100个采样样本中第一次采样得到样本A,在第二次采样之前,将第一次采样得到的样本A放回这100个采样样本中,再次进行采样,也即,第二次采样与第一次采样的采样样本相同。
再例如,从100个采样样本中第一次采样得到样本B,在第二次采样之前,将第一次采样得到的样本B不放回这100个采样样本中,也即,第二次采样是从除了样本A的剩余99个样本中进行采样。
作为一种可选的方案,根据目标样本数量、目标采样数量在目标分布式设备上进行多批次采样,确定目标分布式采样结果,包括:在多批次采样包括j批次采样的情况下,将第a-1批次剩余样本数量划分为第a批次样本数量和第a批次剩余样本数量,其中,a为大于或等于2的正整数,a=2时,第a-1批次剩余样本数量为目标样本数量,第a-1批次剩余采样数量为目标采样数量,j为大于或等于a的正整数;利用随机数从第a-1批次剩余采样数量中采样出第a批次采样数量和第a批次剩余采样数量;从第a批次样本数量中按照第a批次采样数量进行采样,得到第a批次采样结果;在第j-1批次剩余样本数量满足第一预设条件或第j批次剩余采样数量满足第二预设条件的情况下,根据j批次采样结果确定目标分布式采样结果。
可选地,在本申请实施例中,从目标样本数量中确定第a批次的剩余样本数量,从目标采样数量中确定第a批次的剩余采样数量,第j批次晚于第a批次的采样批次,例如,从目标样本数量确定第一批次的第一样本数量,第一批次的剩余样本数量即为目标样本数量中除了第一样本数量之外的剩余的样本数量,从目标采样数量中确定第一批次的第一采样数量,第一批次的剩余采样数量即为目标采样数量中除了第一采样数量之外的剩余的样本数量。
需要说明的是,可以通过随机数的形式从第a-1批次剩余采样数量中采样出第a批次采样数量的采样结果,例如,从第一批次剩余采样数量中随机抽取出第二批次采样数量和第二批次剩余采样数量,从第二批次样本数量中采样出第二批次采样数量,得到第二批次采样结果。
示例性地,上述第一预设条件可以理解为,根据目标分布式设备的采样能力可以从第j批次的剩余样本数量中采样出第j批次采样数量,得到第j批次采样结果,即在第j次完成采样任务,将第一次至第j次的采样结果进行合并,得到目标分布式采样结果。
在一个示例性的实施例中,上述第二预设条件可以理解为,根据目标分布式设备的采样能力可以进行一次采样,采样出第j批次对应的第j批次采样数量,完成采样任务,将第一次至第j次的采样结果进行合并,得到目标分布式采样结果。
通过本申请实施例,采用将前一批次的剩余样本数量划分为当前批次的样本数量和样本剩余数量,将前一批次的剩余采样数量划分为当前批次的采样数量和采样剩余数量,根据第一预设条件或者第二预设条件来确定目标分布式设备采样完成,从而得到目标分布式采样结果,达到了灵活调整批次,样本数量和采样数量的技术效果,使得目标分布式采样结果具有较高的可靠性。
作为一种可选的方案,上述方法还包括:在目标分布式设备包括一个空闲线程的情况下,控制一个空闲线程逐批次执行j批次采样;在目标分布式设备包括多个空闲线程的情况下,控制第一空闲线程将第b-1批次剩余样本数量划分为第b批次样本数量和第b批次剩余样本数量,利用随机数从第b-1批次剩余采样数量中采样出第b批次采样数量和第b批次剩余采样数量,其中,b为大于或等于2的正整数,b=2时,第b-1批次剩余样本数量为目标样本数量,第b-1批次剩余采样数量为目标采样数量,j为大于或等于b的正整数;控制第一空闲线程从第b批次样本数量中按照第b批次采样数量进行采样,得到第b批次采样结果,并控制第二空闲线程将第b批次剩余样本数量划分为第b+1批次样本数量和第b+1批次剩余样本数量,利用随机数从第b批次剩余采样数量中采样出第b+1批次采样数量和第b+1批次剩余采样数量;控制第二空闲线程从第b+1批次样本数量中按照第b+1批次采样数量进行采样,得到第b+1批次采样结果,并控制第三空闲线程将第b+1批次剩余样本数量划分为第b+2批次样本数量和第b+2批次剩余样本数量,利用随机数从第b+1批次剩余采样数量中采样出第b+2批次采样数量和第b+2批次剩余采样数量,其中,第一空闲线程完成第b批次采样的情况下,第三空闲线程允许与第一空闲线程相同。
在一个示例性的实施例中,假设目标分布式设备存在多个空闲线程,可以从空闲线程中选取一个线程作为上述第一空闲线程,该第一空闲线程将目标样本数量划分为当前批次样本数量和剩余样本数量,之后利用随机数从目标采样数量中采样出当前批次采样数量和剩余采样数量。
示例性地,第一空闲线程从第一批次样本数量中按照第一批次采样数量进行采样,得到第一批次采样结果,第二空闲线程将第一批次剩余样本数量划分为第二批次样本数量和第二批次剩余样本数量,并且从第一批次剩余采样数量中随机采样出第二批次采样数量,第二空闲线程为上述空闲线程中除了第一空闲线程之外的任一个空闲线程,第二批次剩余采样数量即为第一批次剩余采样数量中除了第二批次采样数量的剩余采样数量。
再例如,第二空闲线程从第二批次样本数量中按照第二批次采样数量进行采样,得到第二批次采样结果,第三空闲线程将第二批次剩余样本数量划分为第三批次样本数量和第三批次剩余样本数量,从第二批次剩余采样数量中随机采样出第三批次采样数量,第三批次剩余采样数量即为第二批次剩余采样数量中除了第三批次采样数量的剩余采样数量。
需要说明的是,在上述第一空闲线程已经得到第一批次的采样结果的情况下,上述第三空闲线程即为上述空闲线程中除了第二空闲线程之外的任一个空闲线程,在上述第一空闲线程还未得到第一批次的采样结果的情况下,上述第三空闲线程即为上述空闲线程中除了第一空闲线程与第二空闲线程之外的任一个空闲线程。
作为一种可选的方案,在第j-1批次剩余样本数量满足第一预设条件或第j批次剩余采样数量满足第二预设条件的情况下,根据j批次采样结果确定目标分布式采样结果,包括:在第j-1批次剩余样本数量小于或等于目标分布式设备预设的处理样本阈值的情况下,根据j批次采样结果确定目标分布式采样结果;或者在第j批次剩余采样数量为0的情况下,根据j批次采样结果确定目标分布式采样结果。
在一个示例性的实施例中,根据第j-1批次样本数量确定剩余样本数量,根据第j-1批次采样数量确定剩余采样数量之后,若剩余样本数量小于或等于目标分布式设备预设的处理样本阈值时,第j批次即目标分布式设备地最后一次采样批次,第j批次采样结束后,合并第一批次至第j批次地采样结果,得到目标分布式采样结果。
在又一个示例性的实施例中,根据第j-1批次样本数量确定剩余样本数量,根据第j-1批次采样数量确定剩余采样数量之后,剩余采样数量刚好是第j批次采样数量,也就是说,第j批次的剩余采样数量为0,合并第一批次至第j批次地采样结果,得到目标分布式采样结果。
作为一种可选的方案,上述方法还包括:通过如下方式对每个批次待参与采样的样本数量按照每个批次需要采样出的采样数量进行采样,得到每个批次的采样结果,其中,每个批次待参与采样的样本数量视为N,每个批次需要采样出的采样数量视为M,每个批次进行采样的方式为将N划分为d行样本,逐行采样出M个样本,d,N,M均为正整数:将第c-1行剩余样本数量划分为第c行样本数量和第c行剩余样本数量,并从第c-1行剩余采样数量中确定出第c行采样数量和第c行剩余采样数量,其中,c为大于或等于2的正整数,c=2时,第c-1行剩余样本数量为N,第c-1批次剩余采样数量为M,c小于或等于d;从第c行样本数量中按照第c行采样数量进行采样,得到第c行采样结果,并根据第c行剩余样本数量和第c行剩余采样数量分别确定与第c行对应的第一时间复杂度和第二时间复杂度;根据第c行对应的第一时间复杂度和第二时间复杂度的比较关系执行第c+1行采样,直到确定出d个采样结果,将d个采样结果合并,得到每个批次对应的采样结果。
示例性地,在进行每个批次的采样时,当前批次的待参与采样的样本数量为N,需要采样出的采样数量为M,将待参与采样的样本数量划分成d行样本,每一行样本可以包括多个样本,并且,每一行样本的样本数量可以相同,或者不同,分别从每一行样本中采样出M个样本作为采样结果,每一行对应的M的取值可以相同或不同,例如,第一行存在10个样本,采样结果为5个样本,第二行存在20个样本,采样结果为12个样本。
具体而言,从d行样本中选取任意一行作为第c-1行,确定第c-1行的剩余样本数量,将剩余样本数量划分为第c行样本数量和第c行剩余样本数量,也就是说,第c行的样本是从第c-1行的剩余样本中确定,并从第c-1行的剩余采样数量中确定出第c行采样数量和第c行剩余采样数量,即第c行的采样数量是基于第c-1行的采样数量确定。
需要说明的是,从第c行样本中采样出第c行采样数量的样本,作为第c行采样结果,同时获取第c行对应的第一时间复杂度和第二时间复杂度,第一时间复杂度可以理解为,从第c行剩余样本数量确定第c+1行样本数量与剩余样本数量,从第c行剩余采样数量确定第c+1行采样数量与剩余采样数量之后,第c+1行执行采样的时长内进行采样操作的估计时长,第二时间复杂度可以理解为,第c+1行直接在第c行剩余样本数量采样出第c行剩余采样数量的时长内进行采样操作的估计时长。
进一步地,比较第一时间复杂度与第二时间复杂度,即确定第c+1行的采样方式,若第一时间复杂度指示的采样方式优于第二时间复杂度指示的采样方式,即按照第c+1行在划分第c+1行样本数量与剩余样本数量的情况下进行采样操作,或者,第二时间复杂度指示的采样方式优于第一时间复杂度指示的采样方式,将直接在第c行剩余样本数量采样出第c行剩余采样数量。
进一步地,每个批次在d行的采样结束之后,得到d个采样结果,合并第一行至第d行的采样结果,得到每个批次对应的采样结果。
通过本申请实施例,将每个批次的样本数量与采样数量划分为多行的样本数量与采样数量,逐行进行采样,并且基于第一时间复杂度与第二时间复杂度对每个批次的最后一行进行采样,合并每一行的采样结果,得到每个批次对应的采样结果,实现了每一个批次的分行采样,提高每一行的采样效率,从整体上提高了目标分布式设备的采样效率。
作为一种可选的方案,根据第c行对应的第一时间复杂度和第二时间复杂度的比较关系执行第c+1行采样,直到确定出d个采样结果,将d个采样结果合并,得到每个批次对应的采样结果,包括:在第一时间复杂度小于或等于第二时间复杂度的情况下,将第c行剩余样本数量划分为第c+1行样本数量和第c+1行剩余样本数量,从第c行剩余采样数量中确定出第c+1行采样数量和第c+1行剩余采样数量,从第c+1行样本数量中按照第c+1行采样数量进行采样,得到第c+1行采样结果,并根据第c+1行剩余样本数量和第c+1行剩余采样数量分别确定与第c+1行对应的第一时间复杂度和第二时间复杂度;在第一时间复杂度大于第二时间复杂度的情况下,从第c行剩余样本数量中进行与第c行剩余采样数量相同次数的随机采样,得到第d行采样结果。
在一个示例性的实施例中,上述第一时间复杂度小于或等于第二时间复杂度,即表示第一时间复杂度指示的采样方式优于第二时间复杂度指示的采样方式,上述第一时间复杂度大于第二时间复杂度,即表示第二时间复杂度指示的采样方式优于第一时间复杂度指示的采样方式。
作为一种可选的方案,根据初始样本数量、初始采样数量和设备数量确定为目标分布式设备分配的目标样本数量和目标采样数量,包括:根据初始样本数量和设备数量确定目标样本数量;从一组分布式设备中每次抽取任一个分布式设备,抽取次数为初始采样数量,将抽取到目标分布式设备的次数确定为目标采样数量。
可选地,在本申请实施例中,上述目标样本数量是基于初始样本数量和设备数量来确定,例如,待采样的初始样本数量为30个,设备数量为3个,即在每个设备确定对应的目标样本数量为10个,或者结合不同设备的采样能力确定,第一个设备对应的目标样本数量为10个,第二个设备对应的目标样本数量为2个,第三个设备对应的目标样本数量为8个。
示例性地,上述分布式设备是从一组分布式设备中随机抽取的,抽取次数即为初始采样数量,例如,一共从一组分布式设备抽取了50次,在第30次才抽取到目标分布式设备,此时,初始采样数量为50,目标采样数量为30。
作为一种可选的方案,根据初始样本数量和设备数量确定目标样本数量,包括:获取一组分布式设备中各个分布式设备的采样能力,其中,采样能力包括与目标分布式设备对应的目标采样能力;利用设备数量对初始样本数量进行均衡处理,确定为各个分布式设备分配的样本数量平均值;根据采样能力确定各个分布式设备对应的权重值,其中,各个分布式设备对应的权重值之和为1,权重值包括与目标分布式设备对应的目标权重值;根据样本数量平均值和目标权重值确定目标样本数量。
需要说明的是,上述一组分布式设备中不同设备的目标采样能力可以相同或不同,获取设备数量,将初始样本数量分至一组分布式设备,其中,每个分布式设备将分配到相应的目标样本数量的样本,并且,根据各个分布式设备来确定出对应的权重值,根据权重值与上述样本数量平均值来确定各个分布式设备对应的目标样本数量,上述样本数量平均值与各个分布式设备的采样能力相关。
示例性地,存在两个分布式设备为分布式设备A,分布式设备B,初始样本数量有20个,样本数量平均值为2,分布式设备A的采样能力强于分布式设备B的采样能力,分布式设备A对应的权重值设置为0.9,分布式设备B对应的权重值设置为0.1,根据分布式设备A对应的权重值0.9与样本数量平均值2确定出分布式设备A的目标样本数量为18,根据分布式设备B对应的权重值0.1与样本数量平均值2确定出分布式设备B的目标样本数量为2。
通过本申请实施例,根据各个分布式设备的采样能力与初始样本数量确定样本数量平均值,并且为各个分布式设备设置相应的权重,该权重对应于分布式设备的采样能力,最终根据权重与样本数量平均值为分布式设备划分目标样本数量,达到均衡各个分布式设备的采样任务的目的。
作为一种可选的方案,从一组分布式设备中每次抽取任一个分布式设备,抽取次数为初始采样数量,将抽取到目标分布式设备的次数确定为目标采样数量,包括:在从一组分布式设备中抽取出目标分布式设备的情况下,更新目标采样数量;在已抽取出的分布式设备的数量与初始采样数量相同的情况下,确定目标采样数量。
在一个示例性的实施例中,上述目标采样数量即表示抽取到目标分布式设备的次数,在确定目标分布式设备之后,更新该目标采样数量,目标采样数量可以基于已抽取出的分布式设备的数量和初始采样数量确定,例如,已经抽取了30个分布式设备,初始采样数量表示一共抽取了50个分布式设备,此时,目标采样数量即为31,也就是说,在第31次抽取到了目标分布式设备。
下面结合具体的实施例对本申请作进一步解释说明:
需要说明的是,被抽样的数据可以但不限于分块存储到分布式的多台计算机上,多台计算机同时对各自被抽样的数据进行抽样,这个过程中只需要少量的节点间通讯(常数复杂度的通讯量),多台计算机的抽样过程可以同时进行,进而提高抽样效率。
在一个示例性的实施例中,本申请提出的数据处理方法可以用于统计推断中的bootstrap过程,bootstrap是一种统计学方法。
示例性地,抽样问题可以定义为:总体有N个样本,要从中有放回抽样出n个,可选地,naive算法即通过n次独立的抽样完成n个样本的抽样,每次抽样都是随机从N个样本中抽取一个,抽样的概率保持相同,例如,用ci表示第i个样本最终在结果中出现的次数,(c1,…,cN)可以表示一次抽样的结果中包含的样本,(c1,…,cN)服从Mul(n,N,1/N,1/N,…,1/N)分布,假设存在多台机器,K台机器上分布的样本个数为L1,L2,...LK,可以Mul(n,N,K,L1/N, L2/N,.., LK/N)中生成一个样本(S1,S2,..,SK),然后在第k台机器上进行抽样样本数为Sk的抽样过程,最后将所有机器的结果进行合并。
示例性地,如图9所示,预先分配每台机器所需要抽取的样本数量nk,并且,预先分配每个batch(批次)需要抽取的样本量nij,其中:
n11=binomial(n1,N11/N1),n12=binomial(n1-n11,N12/(N1-N11)),可以理解为,在机器1上,假设n1=3,N1=10,将N1分成两部分,例如,第一部分3个样本,第二部分7个样本,需要采样出3个样本,则在第一部分3个样本中,需要采样出2个样本,第二部分的7个样本中,需要采样出1个。接下来在第二部分的7个样本,重复划分多批次进行采样。
具体而言,在进行第一部分的采样批次划分时,可以包括如下步骤:
S1,确定总体样本数目N,抽样的数目n。
S2,将N个样本分成两块,分别有N1,N-N1个样本,其中,第一块样本的大小N1适当的选取为可以被采样机器快速采样得到采样结果的样本大小。
S3,从binomial(n,N1/N)分布(一种随机分布)中生成随机数x,表示需要从第一块中抽样x个样本,即要从第二块中抽样n-x个样本。
此时,上述划分第一部分的采样批次问题将分解为从第一块的N1个样本中抽样x个,从第二块的N-N1个样本中抽样n-x个。
接下来,对第二块继续执行这个分批次的过程,如图8所示,表示执行采样分批次操作,即每次将N样本分成两部分,第一部分分给一台机器处理,剩下的部分继续分裂,每次分裂出的第一部分都分配给一台新的机器处理。
在一个示例性的实施例中,通过多项分布计算出每台机器需采样数量nk,并分发至每台机器,即除了计算结果汇总的唯一通信开销之外的计算开销,对于任一个机器,为了充分利用CPU资源,会采用多线程并发进行采样,如果每个线程单个样本的进行采样,会导致大量资源浪费在线程间的同步,并且在多线程执行时,需要保证剩余样本量Nk和剩余采样量nk的线程安全,可以引入Batch表示每个线程对一组样本进行采样,每个线程在开始执行Batch采样前进行线程互斥的计算,其中,该Batchj的采样量表示为:nkj=binomial(nk,batch_sizej/Nk)。
需要说明的是,batch_sizej为当前batch的样本数量大小,具体取值由生产环境确定,Nk为该计算机目前还剩余的样本数量,nkj为该计算机目前还剩余的待采样的样本数量,可以通过如下方式维护剩余样本量和剩余采样量:
Nk-=batch_sizej,nk-=nkj;
需要说明的是,上述“-=”表示减法赋值运算符,表示将“-”运算符之前的变量减去“=”之后的变量的值重新赋值给“-”运算符之前的变量,为每个Batch存在batch_size个样本,依次遍历Batch中的样本,对于每行数据进行类似Batch之间的采样计算,可以不采用线程同步机制,Nbatch表示当前batch的剩余样本量,nbatch表示该batch的剩余待采样量,在每次分裂出一部分样本的情况下,该样本的待采样量为rowk=binomial(nbatch,1/Nbatch),维护剩余样本量和剩余采样量可以通过如下方式:
Nbatch-=1,nbatch-=rowk;
具体而言,上述“-=”表示减法赋值运算符,表示将“-”运算符之前的变量减去“=”之后的变量的值重新赋值给“-”运算符之前的变量,batch内采样的时间复杂度为O(batch_size)(对应于前述的第一时间复杂度),batch内的采样计算存在对Nbatch和nbatch的顺序依赖,无法充分利用CPU的向量化执行特性,可以在保证机器当前采样量的情况替换为时间复杂度为O(nbatch)(对应于前述的第二时间复杂度)的Uniform distribution(均匀分布)采样方案,当每台机器的所有线程执行完所有batch任务后,机器k的剩余样本量Nk和剩余采样量nk均为0,最后将采样结果进行合并。
示例性地,本申请实施例可以并行抽样,提高采样效率,只需要少量的通讯开销,保证了采样正确性,可以精确地抽样出n个样本,本方法可以扩展到无放回抽样的过程,只需要在采样分批次的过程中,将二项分布换成超几何分布即可,包括但不限于引入一个采样分批次的过程,从N个样本中抽样n个,可以将N分成大小为N1和N- N1的两块。然后生成一个超几何分布的随机数L服从Hypergeometric(n,N1,N)分布,其中,Hypergeometric分布是一种用于描述从有限总体中抽取固定大小样本中成功次数的概率分布,从第一块中抽样L个样本,然后从第二块中抽样n-L个样本,这两个抽样操作可以并行执行,使用这个采样分批次规则递归处理待采样的初始样本,可以实现并行采样分批次的抽样。
可以理解的是,在本申请的具体实施方式中,涉及到用户信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
根据本申请实施例的另一个方面,还提供了一种用于实施上述数据处理方法的数据处理装置。如图10所示,该装置包括:
获取模块1002,用于获取待处理的初始样本数量、需要抽取的初始采样数量和预先确定执行抽样的一组分布式设备的设备数量;
分配模块1004,用于根据所述初始样本数量、所述初始采样数量和所述设备数量确定为目标分布式设备分配的目标样本数量和目标采样数量,其中,所述目标样本数量表示所述目标分布式设备上待参与采样的样本数量,所述目标采样数量表示所述目标分布式设备上需要采样出的采样数量;
采样模块1006,用于根据所述目标样本数量、所述目标采样数量在所述目标分布式设备上进行多批次采样,确定目标分布式采样结果,其中,所述多批次采样包括从所述目标样本数量开始,依据所述目标分布式设备的采样能力逐批次划分出每个批次待参与采样的样本数量,并从所述目标采样数量开始逐批次随机采样得到每个批次需要采样出的采样数量,对所述每个批次待参与采样的样本数量按照所述每个批次需要采样出的采样数量进行采样,得到各个批次对应的采样结果,将各个批次对应的采样结果合并得到所述目标分布式采样结果;
合并模块1008,用于将所述一组分布式设备对应的一组所述目标分布式采样结果进行合并,确定目标采样结果,其中,所述目标采样结果表示对所述初始样本数量按照所述初始采样数量采样的采样结果。
作为一种可选的方案,所述装置用于通过如下方式根据所述目标样本数量、所述目标采样数量在所述目标分布式设备上进行多批次采样,确定目标分布式采样结果:从所述目标样本数量开始,依据所述目标分布式设备的采样能力逐批次划分出每一批次对应的当前样本数量和剩余样本数量,其中,所述剩余样本数量用于确定下一批次对应的所述当前样本数量;从所述目标采样数量开始逐批次随机采样,得到每一批次对应的当前采样数量和剩余采样数量,其中,所述剩余采样数量用于确定下一批次对应的所述当前采样数量;对所述当前样本数量按照所述当前采样数量进行采样,得到当前采样结果;将各个批次对应的所述当前采样结果合并,得到所述目标分布式采样结果。
作为一种可选的方案,所述装置还用于:在所述目标分布式设备包括一个线程的情况下,控制所述一个线程从所述目标样本数量开始,依据所述目标分布式设备的采样能力逐批次划分出每一批次对应的当前样本数量和剩余样本数量,并从所述目标采样数量开始逐批次随机采样,得到每一批次对应的当前采样数量和剩余采样数量;在所述目标分布式设备包括多个线程的情况下,控制所述多个线程交替从所述目标样本数量开始,依据所述目标分布式设备的采样能力逐批次划分出每一批次对应的当前样本数量和剩余样本数量,并从所述目标采样数量开始逐批次进行随机采样,得到每一批次对应的当前采样数量和剩余采样数量,其中,每一批次下,允许一个空闲线程依据所述目标分布式设备的采样能力划分出每一批次对应的当前样本数量和剩余样本数量,并进行随机采样得到每一批次对应的当前采样数量和剩余采样数量。
作为一种可选的方案,所述装置用于通过如下方式从所述目标采样数量开始逐批次随机采样,得到每一批次对应的当前采样数量和剩余采样数量:从所述目标采样数量开始逐批次有放回的随机采样,得到所述当前采样数量和所述剩余采样数量;或者从所述目标采样数量开始逐批次无放回的随机采样,得到所述当前采样数量和剩余采样数量。
作为一种可选的方案,所述装置用于通过如下方式根据所述目标样本数量、所述目标采样数量在所述目标分布式设备上进行多批次采样,确定目标分布式采样结果:在所述多批次采样包括j批次采样的情况下,将第a-1批次剩余样本数量划分为第a批次样本数量和第a批次剩余样本数量,其中,a为大于或等于2的正整数,a=2时,所述第a-1批次剩余样本数量为所述目标样本数量,所述第a-1批次剩余采样数量为所述目标采样数量,j为大于或等于a的正整数;利用随机数从第a-1批次剩余采样数量中采样出第a批次采样数量和第a批次剩余采样数量;从第a批次样本数量中按照第a批次采样数量进行采样,得到第a批次采样结果;在第j-1批次剩余样本数量满足第一预设条件或第j批次剩余采样数量满足第二预设条件的情况下,根据j批次采样结果确定所述目标分布式采样结果。
作为一种可选的方案,所述装置还用于:在所述目标分布式设备包括一个空闲线程的情况下,控制所述一个空闲线程逐批次执行所述j批次采样;在所述目标分布式设备包括多个空闲线程的情况下,控制第一空闲线程将第b-1批次剩余样本数量划分为第b批次样本数量和第b批次剩余样本数量,利用随机数从第b-1批次剩余采样数量中采样出第b批次采样数量和第b批次剩余采样数量,其中,b为大于或等于2的正整数,b=2时,所述第b-1批次剩余样本数量为所述目标样本数量,所述第b-1批次剩余采样数量为所述目标采样数量,j为大于或等于b的正整数;控制所述第一空闲线程从第b批次样本数量中按照第b批次采样数量进行采样,得到第b批次采样结果,并控制第二空闲线程将第b批次剩余样本数量划分为第b+1批次样本数量和第b+1批次剩余样本数量,利用随机数从第b批次剩余采样数量中采样出第b+1批次采样数量和第b+1批次剩余采样数量;控制所述第二空闲线程从第b+1批次样本数量中按照第b+1批次采样数量进行采样,得到第b+1批次采样结果,并控制第三空闲线程将第b+1批次剩余样本数量划分为第b+2批次样本数量和第b+2批次剩余样本数量,利用随机数从第b+1批次剩余采样数量中采样出第b+2批次采样数量和第b+2批次剩余采样数量,其中,所述第一空闲线程完成第b批次采样的情况下,所述第三空闲线程允许与所述第一空闲线程相同。
作为一种可选的方案,所述装置用于通过如下方式在第j-1批次剩余样本数量满足第一预设条件或第j批次剩余采样数量满足第二预设条件的情况下,根据j批次采样结果确定所述目标分布式采样结果:在所述第j-1批次剩余样本数量小于或等于所述目标分布式设备预设的处理样本阈值的情况下,根据j批次采样结果确定所述目标分布式采样结果;或者在第j批次剩余采样数量为0的情况下,根据j批次采样结果确定所述目标分布式采样结果。
作为一种可选的方案,所述装置还用于:通过如下方式对所述每个批次待参与采样的样本数量按照所述每个批次需要采样出的采样数量进行采样,得到每个批次的采样结果,其中,所述每个批次待参与采样的样本数量视为N,所述每个批次需要采样出的采样数量视为M,每个批次进行采样的方式为将N划分为d行样本,逐行采样出M个样本,d,N,M均为正整数:将第c-1行剩余样本数量划分为第c行样本数量和第c行剩余样本数量,并从第c-1行剩余采样数量中确定出第c行采样数量和第c行剩余采样数量,其中,c为大于或等于2的正整数,c=2时,所述第c-1行剩余样本数量为N,所述第c-1批次剩余采样数量为M,c小于或等于d;从第c行样本数量中按照第c行采样数量进行采样,得到第c行采样结果,并根据所述第c行剩余样本数量和所述第c行剩余采样数量分别确定与第c行对应的第一时间复杂度和第二时间复杂度;根据第c行对应的第一时间复杂度和第二时间复杂度的比较关系执行第c+1行采样,直到确定出d个采样结果,将所述d个采样结果合并,得到每个批次对应的采样结果。
作为一种可选的方案,所述装置用于通过如下方式根据第c行对应的第一时间复杂度和第二时间复杂度的比较关系执行第c+1行采样,直到确定出d个采样结果,将所述d个采样结果合并,得到每个批次对应的采样结果:在所述第一时间复杂度小于或等于所述第二时间复杂度的情况下,将第c行剩余样本数量划分为第c+1行样本数量和第c+1行剩余样本数量,从第c行剩余采样数量中确定出第c+1行采样数量和第c+1行剩余采样数量,从第c+1行样本数量中按照第c+1行采样数量进行采样,得到第c+1行采样结果,并根据所述第c+1行剩余样本数量和所述第c+1行剩余采样数量分别确定与第c+1行对应的第一时间复杂度和第二时间复杂度;在所述第一时间复杂度大于所述第二时间复杂度的情况下,从第c行剩余样本数量中进行与所述第c行剩余采样数量相同次数的随机采样,得到第d行采样结果。
作为一种可选的方案,所述装置用于通过如下方式根据所述初始样本数量、所述初始采样数量和所述设备数量确定为目标分布式设备分配的目标样本数量和目标采样数量:根据所述初始样本数量和所述设备数量确定所述目标样本数量;从所述一组分布式设备中每次抽取任一个分布式设备,抽取次数为所述初始采样数量,将抽取到所述目标分布式设备的次数确定为所述目标采样数量。
作为一种可选的方案,所述装置用于通过如下方式根据所述初始样本数量和所述设备数量确定所述目标样本数量:获取所述一组分布式设备中各个分布式设备的采样能力,其中,所述采样能力包括与所述目标分布式设备对应的目标采样能力;利用所述设备数量对所述初始样本数量进行均衡处理,确定为所述各个分布式设备分配的样本数量平均值;根据所述采样能力确定所述各个分布式设备对应的权重值,其中,所述各个分布式设备对应的权重值之和为1,所述权重值包括与所述目标分布式设备对应的目标权重值;根据所述样本数量平均值和所述目标权重值确定所述目标样本数量。
作为一种可选的方案,所述装置用于通过如下方式从所述一组分布式设备中每次抽取任一个分布式设备,抽取次数为所述初始采样数量,将抽取到所述目标分布式设备的次数确定为所述目标采样数量:在从所述一组分布式设备中抽取出所述目标分布式设备的情况下,更新所述目标采样数量;在已抽取出的分布式设备的数量与所述初始采样数量相同的情况下,确定所述目标采样数量。
本申请实施例中,术语“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
根据本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
图11示意性地示出了用于实现本申请实施例的电子设备的计算机系统结构框图。
需要说明的是,图11示出的电子设备的计算机系统1100仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图11所示,计算机系统1100包括中央处理器1101(Central Processing Unit,CPU),其可以根据存储在只读存储器1102(Read-Only Memory,ROM)中的程序或者从存储部分1108加载到随机访问存储器1103(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器1103中,还存储有系统操作所需的各种程序和数据。中央处理器1101、在只读存储器1102以及随机访问存储器1103通过总线1104彼此相连。输入/输出接口1105(Input /Output接口,即I/O接口)也连接至总线1104。
以下部件连接至输入/输出接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至输入/输出接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理器1101执行时,执行本申请的系统中限定的各种功能。
在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理器1101执行时,执行本申请实施例提供的各种功能。
根据本申请实施例的又一个方面,还提供了一种用于实施上述数据处理方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为终端设备为例来说明。如图12所示,该电子设备包括存储器1202和处理器1204,该存储器1202中存储有计算机程序,该处理器1204被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行本申请各实施例中的方法。
可选地,本领域普通技术人员可以理解,图12所示的结构仅为示意,图12其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图12中所示更多或者更少的组件(如网络接口等),或者具有与图12所示不同的配置。
其中,存储器1202可用于存储软件程序以及模块,如本申请实施例中的数据处理方法和装置对应的程序指令/模块,处理器1204通过运行存储在存储器1202内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器1202可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1202可进一步包括相对于处理器1204远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1202具体可以但不限于用于存储样本和采样结果等信息。作为一种示例,如图12所示,上述存储器1202中可以但不限于包括上述数据处理装置中的获取模块1102、分配模块1104、采样模块1106及合并模块1108。此外,还可以包括但不限于上述数据处理装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1206用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1206包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1206为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器1208,用于显示上述样本和采样结果;和连接总线1210,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机可读存储介质,电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述数据处理方面的各种可选实现方式中提供的数据处理方法。
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行本申请各实施例中的方法。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台电子设备执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的应用程序,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (16)
1.一种数据处理方法,其特征在于,包括:
获取待处理的初始样本数量、需要抽取的初始采样数量和预先确定执行抽样的一组分布式设备的设备数量;
根据所述初始样本数量、所述初始采样数量和所述设备数量确定为目标分布式设备分配的目标样本数量和目标采样数量,其中,所述目标样本数量表示所述目标分布式设备上待参与采样的样本数量,所述目标采样数量表示所述目标分布式设备上需要采样出的采样数量;
根据所述目标样本数量、所述目标采样数量在所述目标分布式设备上进行多批次采样,确定目标分布式采样结果,其中,所述多批次采样包括从所述目标样本数量开始,依据所述目标分布式设备的采样能力逐批次划分出每个批次待参与采样的样本数量,并从所述目标采样数量开始逐批次随机采样得到每个批次需要采样出的采样数量,对所述每个批次待参与采样的样本数量按照所述每个批次需要采样出的采样数量进行采样,得到各个批次对应的采样结果,将各个批次对应的采样结果合并得到所述目标分布式采样结果;
将所述一组分布式设备对应的一组所述目标分布式采样结果进行合并,确定目标采样结果,其中,所述目标采样结果表示对所述初始样本数量按照所述初始采样数量采样的采样结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标样本数量、所述目标采样数量在所述目标分布式设备上进行多批次采样,确定目标分布式采样结果,包括:
从所述目标样本数量开始,依据所述目标分布式设备的采样能力逐批次划分出每一批次对应的当前样本数量和剩余样本数量,其中,所述剩余样本数量用于确定下一批次对应的所述当前样本数量;
从所述目标采样数量开始逐批次随机采样,得到每一批次对应的当前采样数量和剩余采样数量,其中,所述剩余采样数量用于确定下一批次对应的所述当前采样数量;
对所述当前样本数量按照所述当前采样数量进行采样,得到当前采样结果;
将各个批次对应的所述当前采样结果合并,得到所述目标分布式采样结果。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述目标分布式设备包括一个线程的情况下,控制所述一个线程从所述目标样本数量开始,依据所述目标分布式设备的采样能力逐批次划分出每一批次对应的当前样本数量和剩余样本数量,并从所述目标采样数量开始逐批次随机采样,得到每一批次对应的当前采样数量和剩余采样数量;
在所述目标分布式设备包括多个线程的情况下,控制所述多个线程交替从所述目标样本数量开始,依据所述目标分布式设备的采样能力逐批次划分出每一批次对应的当前样本数量和剩余样本数量,并从所述目标采样数量开始逐批次进行随机采样,得到每一批次对应的当前采样数量和剩余采样数量,其中,每一批次下,允许一个空闲线程依据所述目标分布式设备的采样能力划分出每一批次对应的当前样本数量和剩余样本数量,并进行随机采样得到每一批次对应的当前采样数量和剩余采样数量。
4.根据权利要求2所述的方法,其特征在于,所述从所述目标采样数量开始逐批次随机采样,得到每一批次对应的当前采样数量和剩余采样数量,包括:
从所述目标采样数量开始逐批次有放回的随机采样,得到所述当前采样数量和所述剩余采样数量;或者
从所述目标采样数量开始逐批次无放回的随机采样,得到所述当前采样数量和剩余采样数量。
5.根据权利要求1所述的方法,其特征在于,所述根据所述目标样本数量、所述目标采样数量在所述目标分布式设备上进行多批次采样,确定目标分布式采样结果,包括:
在所述多批次采样包括j批次采样的情况下,将第a-1批次剩余样本数量划分为第a批次样本数量和第a批次剩余样本数量,其中,a为大于或等于2的正整数,a=2时,所述第a-1批次剩余样本数量为所述目标样本数量,所述第a-1批次剩余采样数量为所述目标采样数量,j为大于或等于a的正整数;
利用随机数从第a-1批次剩余采样数量中采样出第a批次采样数量和第a批次剩余采样数量;
从第a批次样本数量中按照第a批次采样数量进行采样,得到第a批次采样结果;
在第j-1批次剩余样本数量满足第一预设条件或第j批次剩余采样数量满足第二预设条件的情况下,根据j批次采样结果确定所述目标分布式采样结果。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述目标分布式设备包括一个空闲线程的情况下,控制所述一个空闲线程逐批次执行所述j批次采样;
在所述目标分布式设备包括多个空闲线程的情况下,控制第一空闲线程将第b-1批次剩余样本数量划分为第b批次样本数量和第b批次剩余样本数量,利用随机数从第b-1批次剩余采样数量中采样出第b批次采样数量和第b批次剩余采样数量,其中,b为大于或等于2的正整数,b=2时,所述第b-1批次剩余样本数量为所述目标样本数量,所述第b-1批次剩余采样数量为所述目标采样数量,j为大于或等于b的正整数;
控制所述第一空闲线程从第b批次样本数量中按照第b批次采样数量进行采样,得到第b批次采样结果,并控制第二空闲线程将第b批次剩余样本数量划分为第b+1批次样本数量和第b+1批次剩余样本数量,利用随机数从第b批次剩余采样数量中采样出第b+1批次采样数量和第b+1批次剩余采样数量;
控制所述第二空闲线程从第b+1批次样本数量中按照第b+1批次采样数量进行采样,得到第b+1批次采样结果,并控制第三空闲线程将第b+1批次剩余样本数量划分为第b+2批次样本数量和第b+2批次剩余样本数量,利用随机数从第b+1批次剩余采样数量中采样出第b+2批次采样数量和第b+2批次剩余采样数量,其中,所述第一空闲线程完成第b批次采样的情况下,所述第三空闲线程允许与所述第一空闲线程相同。
7.根据权利要求5所述的方法,其特征在于,所述在第j-1批次剩余样本数量满足第一预设条件或第j批次剩余采样数量满足第二预设条件的情况下,根据j批次采样结果确定所述目标分布式采样结果,包括:
在所述第j-1批次剩余样本数量小于或等于所述目标分布式设备预设的处理样本阈值的情况下,根据j批次采样结果确定所述目标分布式采样结果;或者
在第j批次剩余采样数量为0的情况下,根据j批次采样结果确定所述目标分布式采样结果。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过如下方式对所述每个批次待参与采样的样本数量按照所述每个批次需要采样出的采样数量进行采样,得到每个批次的采样结果,其中,所述每个批次待参与采样的样本数量视为N,所述每个批次需要采样出的采样数量视为M,每个批次进行采样的方式为将N划分为d行样本,逐行采样出M个样本,d,N,M均为正整数:
将第c-1行剩余样本数量划分为第c行样本数量和第c行剩余样本数量,并从第c-1行剩余采样数量中确定出第c行采样数量和第c行剩余采样数量,其中,c为大于或等于2的正整数,c=2时,所述第c-1行剩余样本数量为N,所述第c-1批次剩余采样数量为M,c小于或等于d;
从第c行样本数量中按照第c行采样数量进行采样,得到第c行采样结果,并根据所述第c行剩余样本数量和所述第c行剩余采样数量分别确定与第c行对应的第一时间复杂度和第二时间复杂度;
根据第c行对应的第一时间复杂度和第二时间复杂度的比较关系执行第c+1行采样,直到确定出d个采样结果,将所述d个采样结果合并,得到每个批次对应的采样结果。
9.根据权利要求8所述的方法,其特征在于,所述根据第c行对应的第一时间复杂度和第二时间复杂度的比较关系执行第c+1行采样,直到确定出d个采样结果,将所述d个采样结果合并,得到每个批次对应的采样结果,包括:
在所述第一时间复杂度小于或等于所述第二时间复杂度的情况下,将第c行剩余样本数量划分为第c+1行样本数量和第c+1行剩余样本数量,从第c行剩余采样数量中确定出第c+1行采样数量和第c+1行剩余采样数量,从第c+1行样本数量中按照第c+1行采样数量进行采样,得到第c+1行采样结果,并根据所述第c+1行剩余样本数量和所述第c+1行剩余采样数量分别确定与第c+1行对应的第一时间复杂度和第二时间复杂度;
在所述第一时间复杂度大于所述第二时间复杂度的情况下,从第c行剩余样本数量中进行与所述第c行剩余采样数量相同次数的随机采样,得到第d行采样结果。
10.根据权利要求1所述的方法,其特征在于,所述根据所述初始样本数量、所述初始采样数量和所述设备数量确定为目标分布式设备分配的目标样本数量和目标采样数量,包括:
根据所述初始样本数量和所述设备数量确定所述目标样本数量;
从所述一组分布式设备中每次抽取任一个分布式设备,抽取次数为所述初始采样数量,将抽取到所述目标分布式设备的次数确定为所述目标采样数量。
11.根据权利要求10所述的方法,其特征在于,所述根据所述初始样本数量和所述设备数量确定所述目标样本数量,包括:
获取所述一组分布式设备中各个分布式设备的采样能力,其中,所述采样能力包括与所述目标分布式设备对应的目标采样能力;
利用所述设备数量对所述初始样本数量进行均衡处理,确定为所述各个分布式设备分配的样本数量平均值;
根据所述采样能力确定所述各个分布式设备对应的权重值,其中,所述各个分布式设备对应的权重值之和为1,所述权重值包括与所述目标分布式设备对应的目标权重值;
根据所述样本数量平均值和所述目标权重值确定所述目标样本数量。
12.根据权利要求10所述的方法,其特征在于,所述从所述一组分布式设备中每次抽取任一个分布式设备,抽取次数为所述初始采样数量,将抽取到所述目标分布式设备的次数确定为所述目标采样数量,包括:
在从所述一组分布式设备中抽取出所述目标分布式设备的情况下,更新所述目标采样数量;
在已抽取出的分布式设备的数量与所述初始采样数量相同的情况下,确定所述目标采样数量。
13.一种数据处理装置,其特征在于,包括:
获取模块,用于获取待处理的初始样本数量、需要抽取的初始采样数量和预先确定执行抽样的一组分布式设备的设备数量;
分配模块,用于根据所述初始样本数量、所述初始采样数量和所述设备数量确定为目标分布式设备分配的目标样本数量和目标采样数量,其中,所述目标样本数量表示所述目标分布式设备上待参与采样的样本数量,所述目标采样数量表示所述目标分布式设备上需要采样出的采样数量;
采样模块,用于根据所述目标样本数量、所述目标采样数量在所述目标分布式设备上进行多批次采样,确定目标分布式采样结果,其中,所述多批次采样包括从所述目标样本数量开始,依据所述目标分布式设备的采样能力逐批次划分出每个批次待参与采样的样本数量,并从所述目标采样数量开始逐批次随机采样得到每个批次需要采样出的采样数量,对所述每个批次待参与采样的样本数量按照所述每个批次需要采样出的采样数量进行采样,得到各个批次对应的采样结果,将各个批次对应的采样结果合并得到所述目标分布式采样结果;
合并模块,用于将所述一组分布式设备对应的一组所述目标分布式采样结果进行合并,确定目标采样结果,其中,所述目标采样结果表示对所述初始样本数量按照所述初始采样数量采样的采样结果。
14.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的计算机程序,其中,所述计算机程序可被电子设备运行时执行所述权利要求1至12任一项中所述的方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至12任一项中所述方法的步骤。
16.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至12任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311689969.XA CN117390455B (zh) | 2023-12-11 | 2023-12-11 | 数据处理方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311689969.XA CN117390455B (zh) | 2023-12-11 | 2023-12-11 | 数据处理方法和装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117390455A true CN117390455A (zh) | 2024-01-12 |
CN117390455B CN117390455B (zh) | 2024-03-15 |
Family
ID=89437786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311689969.XA Active CN117390455B (zh) | 2023-12-11 | 2023-12-11 | 数据处理方法和装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117390455B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090234485A1 (en) * | 2008-03-17 | 2009-09-17 | International Business Machines Corporation | Method of performing measurement sampling of lots in a manufacturing process |
CN103744978A (zh) * | 2014-01-14 | 2014-04-23 | 清华大学 | 一种基于网格搜索技术用于支持向量机的参数寻优方法 |
US20170286975A1 (en) * | 2016-04-01 | 2017-10-05 | Sysomos L.P. | Data Infrastructure and Method for Estimating Influence Spread in Social Networks |
CN110222779A (zh) * | 2019-06-11 | 2019-09-10 | 腾讯科技(深圳)有限公司 | 分布式数据处理方法及系统 |
US20210133505A1 (en) * | 2019-10-31 | 2021-05-06 | Shenzhen Sensetime Technology Co., Ltd. | Method, device, and storage medium for retrieving samples |
EP4002230A1 (en) * | 2020-11-20 | 2022-05-25 | Fujitsu Limited | Information processing apparatus and information processing method |
-
2023
- 2023-12-11 CN CN202311689969.XA patent/CN117390455B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090234485A1 (en) * | 2008-03-17 | 2009-09-17 | International Business Machines Corporation | Method of performing measurement sampling of lots in a manufacturing process |
CN103744978A (zh) * | 2014-01-14 | 2014-04-23 | 清华大学 | 一种基于网格搜索技术用于支持向量机的参数寻优方法 |
US20170286975A1 (en) * | 2016-04-01 | 2017-10-05 | Sysomos L.P. | Data Infrastructure and Method for Estimating Influence Spread in Social Networks |
CN110222779A (zh) * | 2019-06-11 | 2019-09-10 | 腾讯科技(深圳)有限公司 | 分布式数据处理方法及系统 |
US20210133505A1 (en) * | 2019-10-31 | 2021-05-06 | Shenzhen Sensetime Technology Co., Ltd. | Method, device, and storage medium for retrieving samples |
EP4002230A1 (en) * | 2020-11-20 | 2022-05-25 | Fujitsu Limited | Information processing apparatus and information processing method |
Also Published As
Publication number | Publication date |
---|---|
CN117390455B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210150372A1 (en) | Training method and system for decision tree model, storage medium, and prediction method | |
CN112085205A (zh) | 用于自动训练机器学习模型的方法和系统 | |
US20230342846A1 (en) | Micro-loan system | |
CN111754532B (zh) | 图像分割模型搜索方法、装置、计算机设备及存储介质 | |
CN113761261A (zh) | 图像检索方法、装置、计算机可读介质及电子设备 | |
CN112989085B (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN111275491A (zh) | 一种数据处理方法及装置 | |
CN114676853A (zh) | 数据处理方法、装置、设备以及介质 | |
CN110889450B (zh) | 超参数调优、模型构建方法和装置 | |
CN113611405A (zh) | 一种体检项目推荐方法、装置、设备及介质 | |
CN113723288A (zh) | 基于多模态混合模型的业务数据处理方法及装置 | |
CN112328646B (zh) | 多任务课程推荐方法、装置、计算机设备及存储介质 | |
CN114332984A (zh) | 训练数据处理方法、装置和存储介质 | |
CN111427911A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN111950622A (zh) | 基于人工智能的行为预测方法、装置、终端及存储介质 | |
CN112529100A (zh) | 多分类模型的训练方法、装置、电子设备及存储介质 | |
CN113850669A (zh) | 用户分群方法、装置、计算机设备及计算机可读存储介质 | |
CN115249082A (zh) | 用户兴趣预测方法、装置、存储介质和电子设备 | |
CN117252362A (zh) | 基于人工智能的调度方法、装置、计算机设备及存储介质 | |
CN117390455B (zh) | 数据处理方法和装置、存储介质及电子设备 | |
CN111325578A (zh) | 预测模型的样本确定方法及装置、介质和设备 | |
CN114898184A (zh) | 模型训练方法、数据处理方法、装置及电子设备 | |
CN113822412A (zh) | 一种图节点标注方法、装置、设备及存储介质 | |
CN109308565B (zh) | 人群绩效等级识别方法、装置、存储介质及计算机设备 | |
CN113268541A (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 |