CN101799748B - 一种确定数据样本类别的方法及其系统 - Google Patents
一种确定数据样本类别的方法及其系统 Download PDFInfo
- Publication number
- CN101799748B CN101799748B CN 200910077994 CN200910077994A CN101799748B CN 101799748 B CN101799748 B CN 101799748B CN 200910077994 CN200910077994 CN 200910077994 CN 200910077994 A CN200910077994 A CN 200910077994A CN 101799748 B CN101799748 B CN 101799748B
- Authority
- CN
- China
- Prior art keywords
- data sample
- classification
- value2
- map
- key2
- 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
Images
Abstract
本发明公开了一种确定数据样本的类别的方法及其系统。本发明方法包括:并行执行多个第一Map任务,其中,每个Map任务获取待分类数据样本集中的部分数据样本,计算该部分数据样本中每个数据样本与训练样本集中的训练样本的相似度,并针对每个数据样本取降序排序的前K个相似度所对应的类别;执行Reduce任务,所述Reduce任务分别对每个数据样本的K个相似度所对应的类别进行汇总,将每个数据样本中占多数的类别确定为该数据样本的类别。采用本发明,可提高数据样本分类处理的效率。
Description
技术领域
本发明涉及通信领域中的数据挖掘技术,尤其涉及一种确定数据样本类别的方法及其系统。
背景技术
数据挖掘处理中常用的KNN法(K-Nearest Neighbor)即K近邻法,最初由Cover和Hart于1968年提出,是一个理论上比较成熟的方法。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。该方法在分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。采用这种方法可以较好地避免样本的不平衡问题。另外,由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。
现有KNN算法的实现过程主要是采用串行和基于单机多核(MultiCore)的Map/Reduce(映射/简化)机制实现。串行机制是指按照传统串行方式依次计算每个待分类样本与所有训练样本(即参考样本)的相似度,然后对待分类样本排序求得该样本的前k个最近邻,最后由这k个近邻预测待分类样本的最终类别。
由于KNN算法需要计算每个待分类样本与全部训练样本的相似度,属于计算密集型任务,且需要将所有待分类样本调入内存进行处理,因此传统的串行方法时间消耗非常大。基于内存实现计算的方法,即所有的训练数据集需要一次性加载到内存并长期驻留内存,这对于G/T级海量数据显然是无法适应的。基于单机多核并行计算的方法虽然可以提高计算速度,但是并不能处理大规模海量数据。此外,目前的算法并不能在网络集群计算机中实现算法的内部并行。
由此可见,现有KNN实现方法主要存在以下缺点:
(1)计算时间复杂度和存储空间复杂度高,导致处理效率低,特别是在数据规模较大时用户等待时间很长,对于海量数据无法加载到内存;
(2)现有的KNN实现方法不能利用计算机网络集群的优势。
发明内容
本发明实施例提供一种确定数据样本类别的方法及其系统,以解决现有数据分类方式处理效率低的问题。
本发明实施例提供的确定数据样本类别的方法,包括:
并行执行多个第一Map任务,其中,每个Map任务获取待分类数据样本集中的部分数据样本,计算该部分数据样本中每个数据样本与训练样本集中的训练样本的相似度,并针对每个数据样本取降序排序的前K个相似度所对应的类别;
执行Reduce任务,所述Reduce任务分别对每个数据样本的K个相似度所对应的类别进行汇总,将每个数据样本中占多数的类别确定为该数据样本的类别。
本发明实施例提供的确定数据样本类别的系统,包括:
调用模块,用于调用多个并行的第一Map任务,以及在第一Map任务执行完成后调用Reduce任务;
与第一Map任务一一对应的第一Map任务执行模块,用于执行第一Map任务,包括:获取待分类数据样本集中的部分数据样本,计算该部分数据样本中每个数据样本与训练样本集中的训练样本的相似度,并针对每个数据样本取降序排序的前K个相似度所对应的类别;
Reduce任务执行模块,用于执行Reduce任务,包括:分别对每个数据样本的K个相似度所对应的类别进行汇总,将每个数据样本中占多数的类别确定为该数据样本的类别。
本发明的另一实施例提供的确定数据样本类别的系统,包括:
调用模块,用于调用多个并行的第一Map任务,以及在第一Map任务执行完成后调用相应的Reduce任务;
与第一Map任务一一对应的第一Map任务执行模块,用于执行第一Map任务,包括:获取待分类数据样本集中的部分数据样本,并调用多个并行执行的第二Map任务;
与第二Map任务一一对应的第二Map任务执行模块,用于执行第二Map任务,包括:计算调用该第二Map任务的第一Map任务获取到的部分数据样本中每个数据样本与训练样本集中的训练样本的相似度,并针对每个数据样本取降序排序的前K个相似度对应的类别;
Reduce任务执行模块,用于执行Reduce任务,包括:分别对相应的第一Map任务调用的所有第二Map任务取得的相同数据样本的类别进行汇总,将每个数据样本中占多数的类别确定为该数据样本的类别。
本发明的上述实施例,通过执行多个并行的Map任务,其中每个Map任务负责对待分类数据样本集中的部分数据样本进行相似度的计算,再由Reduce任务对Map任务的处理结果进行汇总,以确定出每个样本的类别,从而实现了多任务节点的并行数据处理,并可充分利用计算机网络集群的多节点处理优势,尤其对于海量数据的处理可提高数据处理效率。另外,可通过设置Map任务的数量以及每个Map任务的数据处理量,来对待分类数据样本集中的部分数据进行处理,与现有技术需要将所有待分类样本数据都读入内存后进行处理相比,可减少对内存容量的要求,适于海量数据的处理。
附图说明
图1为本发明实施例中的确定数据样本类别的流程示意图之一;
图2为本发明实施例中的确定数据样本类别的流程示意图之二;
图3为本发明实施例中用于确定数据样本类别的系统的结构示意图之一;
图4为本发明实施例中用于确定数据样本类别的系统的结构示意图之二。
具体实施方式
本发明实施例采用Map/Reduce机制实现。Map/Reduce是一种分布式处理海量数据的实现方式,该机制可让程序分步到一个由普通节点组成的超大集群上并发执行。
下面结合附图对本发明实施例进行详细描述。
参见图1,为本发明实施例中的确定数据样本类别的流程示意图,该流程包括:
生成多个并行执行的Map任务,每个Map任务负责处理待分类数据样本集中的部分数据样本(相当于待分类数据样本集中的一个子集)。
在启动Map任务之前,可通过设置Map函数的方式对Map任务进行设置。Map函数可根据其中预设的参数生成多个Map任务并且为每个Map任务指定需要处理的数据。Map函数的参数可包括Map任务的数量、每个Map任务处理的数据量。由于待分类数据样本集通常是以数据行方式组织的,每个数据样本为一行,因此,每个Map任务处理的数据量参数可以是行偏移量。为了提高并行处理效率,可将每个Map任务处理的数据量控制在一定阈值范围内,如64M;还可将每个Map任务处理的数据行数设置为相同,如生成m个Map任务,每个任务处理N个数据样本,即,相当于将待分类数据样本集等分为m片并行处理,每片包含N个数据行。
生成的多个Map任务并行执行,每个Map任务执行以下操作:获取数据样本、根据训练样本集对获取到的每个数据样本进行相似度计算,以及取K个最高相似度所对应的训练样本的类别,并将得到的结果进行输出。
该步骤中,每个Map任务根据为其指定的行偏移量逐行读取待分类数据样本集中的数据样本,并且将读取到的每个数据样本转换为<key,value>对,其中,key为Map任务为数据样本分配的标识(如行号),value为数据样本的内容。然后,Map任务将<key,value>对与训练样本集中的所有训练样本逐一比较,计算得到<key,value>对与每个训练样本的相似度,可通过对相似度进行升序或降序排序得到其中K个(K小于等于训练样本集中训练样本的个数)最高相似度,从而得到这K个相似度所对应的训练样本的类别。所述的训练样本为预先设置的参考样本,这些参考样本对应不同的类别,通过将待分类数据样本与参考样本进行比较,可得到待分类数据样本与各类别的相似度。Map任务可将得到的K个相似度所对应的类别输出为新的K个<key,value>对,其中,key保持不变,依然是Map任务为该数据样本分配的标识,Value为K个相似度所对应的类别标识之一。为了便于后续对类别进行汇总操作,较佳地,可以以规定的格式标注每个类别标识对应的相似度(如规定在相应的类别标识前或后用n位记录相似度,或者以列表的形式在value中记录相似度和对应的类别标识)。
Map任务处理完成后,Reduce任务被启动。Reduce任务负责对Map任务的处理结果进行汇总,以确定出其中每个数据样本的类别。Reduce任务执行以下操作:遍历所有Map任务输出的<key,value>对,针对key值相同的所有<key,value>对统计各value值出现的次数,找出其中占多数(即出现的次数最多)的value,并生成新的<key,value>对,其中,key保持不变,仍为Map任务分配的数据样本标识,value为统计得到的占多数的value,该value所对应的类别即为该数据样本的类别,并可将结果输出到DFS保存。
该步骤中,如果key值相同的<key,value>对中的2个以上的类别标识(即<key,value>对中的value值)出现的次数相同,则可根据类别标识的前或后,或以其他方式标识出的相似度,分别将这些出现次数相同的类别的相似度相加求和,取其中最大值所对应的类别标识。
上述流程中,可通过对Map任务分配数据样本标识的规则进行定义,使每个Map任务为每行数据样本分配的标识在该待分类数据样本集中唯一。由于可对Map任务的标识分配规则进行定义,这样,即使Reduce任务输出的<key,value>对中的key为数据样本标识,也可从待分类数据样本集中找到对应的数据样本内容,从而确定出每个数据样本的类别。
上述流程中,Reduce任务可以为一个或多个,当Reduce任务为多个时,每个Reduce任务都可以根据为其指定的value值范围,从所有Map任务输出的<key,value>对中查找该范围内的<key,value>对并对查找到的<key,value>对进行处理。
本发明实施例中,由于将待分类数据样本集进行了并行处理,使得确定数据样本类别的效率比现有技术有所提高。但是训练集的数据量通常也较大,往往占到待分类数据样本集的50%的比例,来保证分类的准确度。当面对海量数据,如G/TB级数据时候,50%比例的数据量也是一个较大规模的数据量。为了进一步提高分类处理的效率,在本发明的另一个实施例中,可在对待分类数据样本集以类似前述实施例的方式,以1/m(N*N)(即由m个Map任务对待分类数据样本集分片并行,每个Map任务处理N个数据样本)进行并行分类处理的同时,将训练样本集进一步并行化,其过程可参见图2。
参见图2,为本发明实施例中确定数据样本类别的流程示意图,该流程包括:
生成多个并行执行的Map任务,每个Map任务负责处理待分类数据样本集中的部分数据样本(相当于待分类数据样本集中的一个子集)。
生成的多个Map任务(如图中的Map-1,Map-2,...,Map-N)并行执行,其中,每个Map任务读取待分类数据样本集中其负责处理的数据样本,并启动多个并行执行的新的Map任务。
以Map-1为例,Map-1调用Map-1′,...,Map-M′,Map-1′,...,Map-M′并行执行,其中,每个Map任务从训练样本集中获取其对应的部分训练样本集,根据获取到的部分训练样本集计算Map-1所获取到的待分类数据样本集中的每个数据样本与该部分训练样本集的相似度,并取其中K个相似度高的分类类别输出为K个<key,value>对,其中,key为Map-1为读取到的数据样本所分配的标识,value为K个相似度所对应的类别标识之一。Map-1′,...,Map-M′执行完成后,Reduce-1′,...,Reduce-M′任务被启动,该Reduce任务收集Map-1′,...,Map-M′输出的<key,value>对,针对key值相同的所有<key,value>对统计出其value中占多数的类别标识作为该key值所对应的数据样本的分类类别,并针对该数据样本输出一个<key,value>对,其中,key仍为该数据样本的标识,value为针对该数据样本所统计出的类别标识。Reduce任务的数量也可以不与Map-1′,...,Map-M′的数量相同,也可以是1个。
其他Map任务,如Map-2,...,Map-N,均以类似方法执行。
上述流程中,为了减少数据处理量、提高数据处理效率,较佳地,Map-1′,...,Map-M′任务可将相似度值添加到输出的<key,value>对中;当Reduce任务进行汇总时,可将相同key值的所有<key,value>对按照相似度值降序排序,取前K(或其他数量)个<key,value>对,再从K个<key,value>对中统计出占多数的类别作为该key值所对应的数据样本的类别。将相似度值添加到输出的<key,value>对中,可采用如下方式:根据定义的value的数据格式在value中的相应位添加相似度(如规定value的前8位为类别标识,后8位为相似度值);或者,将value定义为列表形式,其列表项包括相似度及其类别标识。
本发明的上述实施例中,Map任务可被分配到执行节点上执行,其中,一个执行节点可分配到一个或多个Map任务。
本发明的上述实施例的并行KNN方法可通过Map/Reduce编程机制实现,实现过程可利用三个类:PKnn.java、PKnnMapClass.java、PKnnReduceClass。其中,PKnn是主程序,包括所有参数的设置、初始化,以及MapRuduce过程的调用等;PKnnMapClass类计算每个待分类样本与训练样本的所有相似度,然后求待分类样本对应的前K个相似度作为Map过程的输出,对于计算两个样本相似度函数是子模块,是公共调用的模块;PKnnReduceClass类计算得到测试样本的最终类别。
K近邻算法模块可以分成几个子模块:参数设置模块,以及训练测试过程模块(由于Knn是懒惰算法,实际上不用训练,所以在整个过程中只有测试过程(即确定样本类别的过程),在MapReduce中用一个任务完成)。参数说明如表1所示:
表1
参数 | 说明 |
KNN | 设置近邻的个数 |
TrainInputpath | 设置训练文件输入路径 |
testInputPath | 设置待分类文件输入路径 |
numMapTasks | 设置Map的任务数 |
numReduceTasks | 设置Reduce的任务数 |
jobPriorityType | 设置任务的优先级 |
outputPath | 设置结果输出的路径 |
基于相同的技术构思,本发明实施例还提供了数据分类系统。
参见图3,为本发明实施例中的一种数据分类系统的结构示意图。该系统包括:调用模块31,以及Map任务执行模块32和Reduce任务执行模块33,其中:
调用模块31,用于调用多个并行的第一Map任务,以及在第一Map任务执行完成后调用Reduce任务;
与第一Map任务一一对应的Map任务执行模块32,用于执行第一Map任务,包括:获取待分类数据样本集中对应的数据样本子集,计算该数据样本子集中每个数据样本与训练样本集中的训练样本的相似度,并针对每个数据样本取降序排序的K个相似度所对应的类别。在此过程中,Map任务执行模块32根据为相应的第一Map任务指定的数据行从待分类数据样本集中逐行读取相应行的数据样本,并将读取到的数据样本转换为<key,value>对,其中,key为第一Map任务为读取到的数据样本分配的标识,value为读取到的数据样本的内容;以及,在针对每个数据样本取其中K个最高的相似度对应的类别之后,为每个数据样本生成K个<key,value>对,其中,key为第一Map任务为读取到的数据样本分配的标识,value为K个相似度所对应的类别标识之一;
Reduce任务执行模块33,用于执行Reduce任务,包括:对所有第一Map任务取得的每个数据样本的类别分别进行汇总,将每个数据样本中占多数的类别确定为该数据样本的类别。Reduce任务执行模块33可将汇总结果输出到分布式文件系统。
上述系统中,调用模块31调用的Reduce任务可以为一个或多个,如果是多个,相应的Reduce任务执行模块33也为多个,且每个Reduce任务和Reduce任务执行模块33一一对应。
参见图4,为本发明的另一实施例提供的用于确定数据样本类别的系统结构示意图,该系统包括:调用模块41、Map任务执行模块42、Map任务执行模块43和Reduce任务执行模块44,其中:
调用模块41用于调用多个并行的第一Map任务,以及在第一Map任务执行完成后调用Reduce任务;
与第一Map任务一一对应的Map任务执行模块42,用于执行第一Map任务,包括:获取待分类数据样本集中对应的数据样本子集,并调用多个并行执行的第二Map任务;
与第二Map任务一一对应的Map任务执行模块43,用于执行第二Map任务,包括:计算调用该第二Map任务的第一Map任务获取到的数据样本子集中每个数据样本与训练样本集中的训练样本的相似度,并针对每个数据样本取降序排序的前K个相似度对应的类别;
Reduce任务执行模块44,用于执行Reduce任务,包括:对相应的第一Map任务调用的所有第二Map任务取得的相同数据样本的类别分别进行汇总,将每个数据样本中占多数的类别确定为该数据样本的类别。
进一步的,Map任务执行模块43在针对每个数据样本取其中K个最高的相似度对应的K个类别后,针对该数据样本输出对应的K个<key,value>对,其中,key为调用该第二Map任务的第一Map任务为该数据样本分配的标识,value为K个相似度之一所对应的类别标识;Reduce任务执行模块44根据第一Map任务所调用的所有第二Map任务输出的<key,value>对中具有相同key值的<key,value>对中的value,统计出其中占多数的类别标识,将统计出的类别标识确定为与该key值对应的数据样本的类别。
Map任务执行模块43还可在针对每个数据样本取K个相似度对应的类别后,为每个数据样本输出与对应的K个<key,value>对,其中,key为调用该第二Map任务的第一Map任务为该数据样本分配的标识,value包括K个相似度之一以及与该相似度对应的类别标识;此时,Reduce任务执行模块44从第一Map任务所调用的所有第二Map任务输出的<key,value>对中具有相同key值的所有<key,value>对中,取相似度降序排序的前K个<key,value>对,从该K个<key,value>对中统计出其中出现次数最多的value,将统计出的value所对应的类别确定为与该key值对应的数据样本的类别。
上述系统中,针对一个第一Map任务至少调用一个Reduce任务,用来对该第一Map任务所调用的所有第二Map任务输出的<key,value>对进行处理。
需要说明的是,Map任务执行模块的数量和Reduce任务执行模块的数量并不受图3或图4所示模块数量的限制。
本发明的上述实施例中,通过并行执行多个Map任务,其中每个Map任务负责计算待分类样本中的一部分样本与各训练样本的相似度,并通过计算出的相似度确定各样本的类别;然后对Map任务的处理结果进行汇总与输出,从而得到待分类样本的类别。可以看出,采用上述方式,可利用G/T级海量数据存储、计算平台中的众多计算机并行执行数据分类操作,将大数据块划分为小数据块并分配到不同的处理节点进行处理,一方面可提高数据处理效率,另一方面,也可解决现有技术中由于单点串行方法所导致的内存空间有限而无法加载海量数据的问题。
需要说明的是,本发明的上述实施例仅以利用KNN算法为例对并行实现的数据分类过程进行描述,事实上,其他适用于数据分块的数据分类方法也应在本发明的保护范围之内。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种确定数据样本类别的方法,其特征在于,包括:
并行执行多个第一映射Map任务,其中,每个第一Map任务获取待分类数据样本集中的部分数据样本,与所述部分数据样本对应的第一Map任务调用多个并行执行的第二Map任务,每个第二Map任务获取所述训练样本集中的部分训练样本,计算所述部分数据样本中每个数据样本与该部分训练样本中的所有训练样本的相似度,并针对每个数据样本取降序排序的前K个相似度所对应的类别;
执行简化Reduce任务,所述Reduce任务分别对每个数据样本的K个相似度所对应的类别进行汇总,将每个数据样本中占多数的类别确定为该数据样本的类别;
其中,所述Reduce任务对每个数据样本的类别分别进行汇总,包括:
与第一Map对应的Reduce任务对相应的第一Map任务所调用的所有第二Map任务取得的相同数据样本的类别分别进行汇总。
2.如权利要求1所述的方法,其特征在于,第一Map任务获取待分类数据样本集中的部分数据样本,具体为:
根据为其指定的数据行范围从待分类数据样本集读取相应行的数据样本,并将读取到的数据样本转换为<key1,value1>对,其中,key1为第一Map任务为读取到的数据样本分配的标识,value1为读取到的数据样本的内容。
3.如权利要求2所述的方法,其特征在于,针对每个数据样本取K个相似度对应的类别之后,还包括:
为每个数据样本输出对应的K个<key2,value2>对,其中,key2为第一Map任务为读取到的数据样本分配的标识,value2为K个相似度之一所对应的类别标识;
对数据样本的K个相似度所对应的类别进行汇总,将数据样本中占多数的类别确定为该数据样本的类别,包括:
对具有相同key2值的K个<key2,value2>对中各value2出现的次数进行统计,得到出现次数最多的value2;
将出现次数最多的value2所对应的类别确定为该key2值所对应的数据样本的类别。
4.如权利要求3所述的方法,其特征在于,为每个数据样本生成的K个<key2,value2>对中还携带对应的相似度值;
当针对具有同一key值的K个<key2,value2>对统计出多个具有出现次数相同的value2值时,还包括:
根据与该多个value2对应的<key2,value2>对中的相似度,计算得到其中每个value2所对应的相似度之和,取其中最大和值所对应的value2,将该value2所对应的类别确定为该key2值所对应的数据样本的类别。
5.如权利要求1所述的方法,其特征在于,所述训练样本为训练样本集中的所有训练样本。
6.如权利要求1所述的方法,其特征在于,针对每个数据样本取K个相似度对应的类别后,对于每个数据样本,还包括:
第二Map任务为该数据样本输出对应的K个<key2,value2>对,其中,key2为调用该第二Map任务的第一Map任务为该数据样本分配的标识,value2为K个相似度之一所对应的类别标识;
所述汇总以及将每个数据样本中占多数的类别确定为该数据样本的类别的步骤,具体为:
根据所述第一Map任务所调用的所有第二Map任务输出的<key2,value2>对中具有相同key2值的<key2,value2>对中,统计出其中出现次数最多的value2,将统计出的value2所对应的类别确定为与该key2值对应的数据样本的类别。
7.如权利要求1所述的方法,其特征在于,针对每个数据样本取K个相似度对应的类别后,对于每个数据样本,还包括:
第二Map任务为该数据样本输出对应的K个<key2,value2>对,其中,key2为调用该第二Map任务的第一Map任务为该数据样本分配的标识,value2包括K个相似度之一以及与其对应的类别标识;
所述汇总以及将每个数据样本中占多数的类别确定为该数据样本的类别的步骤,具体为:
从所述第一Map任务所调用的所有第二Map任务输出的<key2,value2>对中具有相同key2值的所有<key2,value2>对中,取相似度降序排序的前K个<key2,value2>对,从该K个<key2,value2>对中统计出其中出现次数最多的value2,将统计出的value2所对应的类别确定为与该key2值对应的数据样本的类别。
8.如权利要求1至7任一项所述的方法,其特征在于,所述Reduce任务为一个或多个。
9.一种确定数据样本类别的系统,其特征在于,包括:
调用模块,用于调用多个并行的第一Map任务,以及在第一Map任务执行完成后调用相应的Reduce任务;
与第一Map任务一一对应的第一Map任务执行模块,用于执行第一Map任务,包括:获取待分类数据样本集中的部分数据样本,并调用多个并行执行的第二Map任务;
与第二Map任务一一对应的第二Map任务执行模块,用于执行第二Map任务,包括:计算调用该第二Map任务的第一Map任务获取到的部分数据样本中每个数据样本与训练样本集中的训练样本的相似度,并针对每个数据样本取降序排序的前K个相似度对应的类别;
Reduce任务执行模块,用于执行Reduce任务,包括:分别对相应的第一Map任务调用的所有第二Map任务取得的相同数据样本的类别进行汇总,将每个数据样本中占多数的类别确定为该数据样本的类别。
10.如权利要求9所述的系统,其特征在于,所述第二Map任务执行模块进一步用于,在针对每个数据样本取其中K个相似度对应的类别后,为每个数据样本输出对应的K个<key2,value2>对,其中,key2为调用该第二Map任务的第一Map任务为数据样本分配的标识,value2为K个相似度之一所对应的类别标识;
所述Reduce任务执行模块进一步用于,根据第一Map任务所调用的所有第二Map任务输出的<key2,value2>对中具有相同key2值的<key2,value2>对中的value2,统计出其中占多数的类别标识,将统计出的类别标识确定为与该key2值对应的数据样本的类别。
11.如权利要求9所述的系统,其特征在于,所述第二Map任务执行模块进一步用于,在针对每个数据样本取K个相似度对应的类别后,为每个数据样本输出对应的K个<key2,value2>对,其中,key2为调用该第二Map任务的第一Map任务为该数据样本分配的标识,value2包括K个相似度之一以及与其对应的类别标识;
所述Reduce任务执行模块进一步用于,从所述第一Map任务所调用的所有第二Map任务输出的<key2,value2>对中具有相同key2值的所有<key2,value2>对中,取相似度降序排序的前K个<key2,value2>对,从该K个<key2,value2>对中统计出其中出现次数最多的value2,将统计出的value2所对应的类别确定为与该key2值对应的数据样本的类别。
12.如权利要求9至11任一项所述的系统,其特征在于,所述Reduce任务为一个或多个,所述Reduce任务执行模块与所述一个或多个Reduce任务一一对应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910077994 CN101799748B (zh) | 2009-02-06 | 2009-02-06 | 一种确定数据样本类别的方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910077994 CN101799748B (zh) | 2009-02-06 | 2009-02-06 | 一种确定数据样本类别的方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101799748A CN101799748A (zh) | 2010-08-11 |
CN101799748B true CN101799748B (zh) | 2013-02-13 |
Family
ID=42595438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910077994 Active CN101799748B (zh) | 2009-02-06 | 2009-02-06 | 一种确定数据样本类别的方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101799748B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467570B (zh) * | 2010-11-17 | 2014-03-12 | 日电(中国)有限公司 | 用于分布式数据仓库的连接查询系统和方法 |
CN102486798A (zh) * | 2010-12-03 | 2012-06-06 | 腾讯科技(深圳)有限公司 | 数据加载的方法及装置 |
CN102043857B (zh) * | 2010-12-27 | 2012-06-20 | 中国科学院计算技术研究所 | 最近邻查询方法及系统 |
CN102446209B (zh) * | 2011-10-18 | 2013-04-03 | 北京航空航天大学 | 一种海量时域数据读取与图形显示的方法 |
CN102622446A (zh) * | 2012-03-19 | 2012-08-01 | 南京大学 | 一种基于Hadoop的并行k近邻分类方法 |
CN104077218B (zh) * | 2013-03-29 | 2018-12-14 | 百度在线网络技术(北京)有限公司 | MapReduce分布式系统的测试方法及设备 |
CN104699701A (zh) * | 2013-12-05 | 2015-06-10 | 深圳先进技术研究院 | 基于敏感哈希的并行最邻近节点计算方法及分布式系统 |
CN106033332B (zh) * | 2015-03-10 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及设备 |
CN107204998B (zh) * | 2016-03-16 | 2020-04-28 | 华为技术有限公司 | 处理数据的方法和装置 |
CN107688493B (zh) * | 2016-08-05 | 2021-06-18 | 阿里巴巴集团控股有限公司 | 训练深度神经网络的方法、装置及系统 |
CN108133224B (zh) * | 2016-12-01 | 2021-11-16 | 富士通株式会社 | 用于评估分类任务复杂度的方法 |
CN110019774B (zh) * | 2017-08-23 | 2023-01-31 | 腾讯科技(深圳)有限公司 | 标签分配方法、装置、存储介质及电子装置 |
CN107862301A (zh) * | 2017-11-29 | 2018-03-30 | 厦门瑞为信息技术有限公司 | 降低人脸识别误识率的方法 |
CN109325118B (zh) | 2018-09-03 | 2023-06-27 | 平安科技(深圳)有限公司 | 不平衡样本数据预处理方法、装置和计算机设备 |
CN110543636B (zh) * | 2019-09-06 | 2023-05-23 | 出门问问创新科技有限公司 | 一种对话系统的训练数据选择方法 |
CN115344411B (zh) * | 2022-10-17 | 2023-01-03 | 深圳海智创科技有限公司 | 一种控制消息队列任意延时的方法及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070294223A1 (en) * | 2006-06-16 | 2007-12-20 | Technion Research And Development Foundation Ltd. | Text Categorization Using External Knowledge |
CN101183368A (zh) * | 2007-12-06 | 2008-05-21 | 华南理工大学 | 联机分析处理中分布式计算及查询海量数据的方法和系统 |
-
2009
- 2009-02-06 CN CN 200910077994 patent/CN101799748B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070294223A1 (en) * | 2006-06-16 | 2007-12-20 | Technion Research And Development Foundation Ltd. | Text Categorization Using External Knowledge |
CN101183368A (zh) * | 2007-12-06 | 2008-05-21 | 华南理工大学 | 联机分析处理中分布式计算及查询海量数据的方法和系统 |
Non-Patent Citations (3)
Title |
---|
刘博 等.改进的 KNN方法及其在中文文本分类中的应用.《华西大学学报(自然科学版)》.2008,第27卷(第2期),33-34. * |
周朴雄.用于WEB文档分类的并行KNN算法.《计算机工程与应用》.2008,155-156. * |
朱国华.一种改进的KNN分类方法.《河南工程学院学报》.2008,第20卷(第3期),65-67. * |
Also Published As
Publication number | Publication date |
---|---|
CN101799748A (zh) | 2010-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101799748B (zh) | 一种确定数据样本类别的方法及其系统 | |
Chiang et al. | Cluster-gcn: An efficient algorithm for training deep and large graph convolutional networks | |
Nykiel et al. | MRShare: sharing across multiple queries in MapReduce | |
CN108845960B (zh) | 一种存储器资源优化方法和装置 | |
Shi et al. | PPLS/D: Parallel Pareto local search based on decomposition | |
CN106682116A (zh) | 基于Spark内存计算大数据平台的OPTICS点排序聚类方法 | |
Bender et al. | Cache-adaptive algorithms | |
CN105677812A (zh) | 一种数据查询方法及数据查询装置 | |
EP2880566B1 (en) | A method for pre-processing and processing query operation on multiple data chunk on vector enabled architecture | |
JP2010033561A (ja) | マルチプロセッサ・システム上でデータ・セットを区分化およびソートするための方法および装置 | |
CN111241778B (zh) | 一种基于机器学习的fpga自动调参优化方法及系统 | |
CN101593132A (zh) | 基于线程构造模块的多核并行模拟退火方法 | |
CN112765094B (zh) | 一种基于数据划分和任务分配的稀疏张量典范分解方法 | |
CN112015765B (zh) | 基于缓存价值的Spark缓存淘汰方法及系统 | |
CN116627892A (zh) | 一种数据近存储计算方法、装置和存储介质 | |
CN115016938A (zh) | 一种基于强化学习的计算图自动划分方法 | |
US20220067495A1 (en) | Intelligent processor, data processing method and storage medium | |
CN112434785B (zh) | 一种面向超级计算机的分布式并行深度神经网络性能评测方法 | |
CN108334532A (zh) | 一种基于Spark的Eclat并行化方法、系统及装置 | |
CN114546652A (zh) | 一种参数预估方法、装置及电子设备 | |
CN109885732A (zh) | 一种基于数据分布模型的分布式排序系统 | |
CN115982230A (zh) | 数据库的跨数据源查询方法、系统、设备及存储介质 | |
Lu et al. | Frequent item set mining algorithm based on bit combination | |
Teng et al. | Hardware implementation of random forest algorithm based on classification and regression tree | |
CN108037925A (zh) | 程序分析信息并行提取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170109 Address after: Kolding road high tech Zone of Suzhou City, Jiangsu Province, No. 78 215163 Patentee after: CHINA MOBILE (SUZHOU) SOFTWARE TECHNOLOGY CO., LTD. Patentee after: China Mobile Communications Co., Ltd. Patentee after: China Mobile Communications Corp. Address before: 100032 Beijing Finance Street, No. 29, Xicheng District Patentee before: China Mobile Communications Corp. |