CN103902591B - 构建决策树分类器的方法及装置 - Google Patents
构建决策树分类器的方法及装置 Download PDFInfo
- Publication number
- CN103902591B CN103902591B CN201210580719.8A CN201210580719A CN103902591B CN 103902591 B CN103902591 B CN 103902591B CN 201210580719 A CN201210580719 A CN 201210580719A CN 103902591 B CN103902591 B CN 103902591B
- Authority
- CN
- China
- Prior art keywords
- node
- branch
- attribute
- sub
- tree
- 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
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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种构建决策树分类器的方法,包括:获取样本数据;构建包含多个子决策树的随机森林分类器;获取所述多个子决策树的节点的分裂属性的出现频率,根据所述出现频率将所述多个子决策树合并成主决策树,且所述主决策树的叶节点对应类标集和叶属性类标签,所述叶属性标签为所述类标集中出现频率最高的类标签;根据所述叶属性类标签合并所述主决策树的叶节点;根据所述主决策树生成决策树分类器。此外,还包括一种构建决策树分类器的装置。上述构建决策树分类器的方法及装置可以提高分类速度。
Description
技术领域
本发明涉及数据挖掘技术领域,特别是涉及一种构建决策树分类器的方法及装置。
背景技术
现有的数据挖掘技术中,需要通过样本数据预先构建分类器,然后通过分类器对抓取的数据进行分类分析。例如,在搜索引擎中的分类器可根据用户输入的关键字实时地获取到该关键字对应的类标签。
现有技术的分类器包括决策树分类器。决策树是一个树状的预测模型,用来根据输入样本的属性值预测其对应的目标变量。树中每个节点代表某个输入变量,而每个分叉路径则代表该变量某个可能的取值范围。每个叶结点则表示给定从根节点到该叶节点所代表的样本对应的目标变量。
现有技术的决策树分类器通常为随机森林分类器。随机森林分类器由多个子决策树分类器构成。对于一个待分类的数据,随机森林分类器通过综合所有子决策树分类器的输出,以投票选举(voting)的方式决定数据的最终类别。
然而,传统技术中的基于决策树模型的随机森林分类器由于需要遍历所有的子决策树,因此分类速度较慢。
发明内容
基于此,有必要提供一种能提高分类速度的构建决策树分类器的方法。
一种构建决策树分类器的方法,包括:
获取样本数据;
构建包含多个子决策树的随机森林分类器;
获取所述多个子决策树的节点的分裂属性的出现频率,根据所述出现频率将所述多个子决策树合并成主决策树,且所述主决策树的叶节点对应类标集和叶属性类标签,所述叶属性标签为所述类标集中出现频率最高的类标签;
根据所述叶属性类标签合并所述主决策树的叶节点;
根据所述主决策树生成决策树分类器。
在其中一个实施例中,所述获取所述多个子决策树的节点的分类属性的出现频率,根据所述出现频率将所述多个子决策树合并成主决策树的步骤包括:
获取所述多个子决策树的根节点的分裂属性;
获取所述根节点的分裂属性的出现频率;
根据所述出现频率最大的分裂属性生成所述主决策树的目标分支节点。
在其中一个实施例中,所述根据所述出现频率最大的分裂属性生成所述主决策树的目标分支节点的步骤之后还包括:
判断所述目标分支节点的分裂属性是否为数值属性,若是,则获取所述多个子决策树的根节点中分裂属性为数值属性的节点的分裂值,并根据所述分裂值生成所述目标分支节点的子分支节点,移除所述多个子决策树的根节点中分裂属性为数值属性的节点;否则,获取所述多个子决策树的根节点中分裂属性为类别属性的节点的类别取值,并根据所述类别取值生成所述目标分支节点的子分支节点,移除所述多个子决策树的根节点中分裂属性为类别属性的节点。
在其中一个实施例中,所述判断所述目标分支节点的分裂属性是否为数值属性的步骤之后还包括:
获取所述目标分支节点的子分支节点的分裂属性;
将所述子分支节点依次添加到队列中;
获取所述多个子决策树中的对应所述子分支节点的分裂属性的子分支树;
由所述队列中取出子分支节点,判断所述子分支节点对应的子分支树下的节点是否全为叶子节点,若是,则获取子分支树下的叶子节点的类标签,并根据所述获取到的子分支树下的叶子节点的类标签的生成所述由队列取出的目标分支节点下的叶节点的类标集和叶属性类标签,且所述叶属性标签为所述类标集中出现频率最高的类标签;否则,将所述子分支节点作为目标分支节点,继续执行所述判断所述目标分支节点的分裂属性是否为数值属性的步骤。
在其中一个实施例中,所述获取所述多个子决策树中的对应所述目标分支节点的分裂属性的子分支树的步骤为:
遍历所述多个子决策树;
递归查找遍历到的子决策树的分支节点,获取其分裂属性与所述目标分支节点的分裂属性匹配的分支节点,获取所述查找到子决策树的分支节点下的子分支树。
此外,还有必要提供一种能提高分类速度的构建决策树分类器的装置。
一种构建决策树分类器的装置,包括:
样本获取模块,用于获取样本数据;
随机森林生成模块,用于构建包含多个子决策树的随机森林分类器;
合并决策树模块,用于获取所述多个子决策树的节点的分裂属性的出现频率,根据所述出现频率将所述多个子决策树合并成主决策树,且所述主决策树的叶节点对应类标集和叶属性类标签,所述叶属性标签为所述类标集中出现频率最高的类标签;
合并节点模块,用于根据所述叶属性类标签合并所述主决策树的叶节点;
分类器生成模块,用于根据所述主决策树生成决策树分类器。
在其中一个实施例中,所述合并决策树模块用于获取所述多个子决策树的根节点的分裂属性,获取所述根节点的分裂属性的出现频率,根据所述出现频率最大的分裂属性生成所述主决策树的目标分支节点。
在其中一个实施例中,所述合并决策树模块还用于判断所述目标分支节点的分裂属性是否为数值属性,若是,则获取所述多个子决策树的根节点中分裂属性为数值属性的节点的分裂值,并根据所述分裂值生成所述目标分支节点的子分支节点,移除所述多个子决策树的根节点中分裂属性为数值属性的节点;否则,获取所述多个子决策树的根节点中分裂属性为类别属性的节点的类别取值,并根据所述类别取值生成所述目标分支节点的子分支节点,移除所述多个子决策树的根节点中分裂属性为类别属性的节点。
在其中一个实施例中,所述合并决策树模块还用于获取所述目标分支节点的子分支节点的分裂属性;
将所述子分支节点依次添加到队列中;
获取所述多个子决策树中的对应所述子分支节点的分裂属性的子分支树;
由所述队列中取出子分支节点,判断所述子分支节点对应的子分支树下的节点是否全为叶子节点,若是,则获取子分支树下的叶子节点的类标签,并根据所述获取到的子分支树下的叶子节点的类标签的生成所述由队列取出的目标分支节点下的叶节点的类标集和叶属性类标签,且所述叶属性标签为所述类标集中出现频率最高的类标签;否则,将所述子分支节点作为目标分支节点,循环继续判断所述目标分支节点的分裂属性是否为数值属性。
在其中一个实施例中,所述合并决策树模块还用于遍历所述多个子决策树,递归查找遍历到的子决策树的分支节点,获取其分裂属性与所述目标分支节点的分裂属性匹配的分支节点,获取所述查找到子决策树的分支节点下的子分支树。
上述构建决策树分类器的方法及装置,通过将现有技术中的随机森林分类器中的多个子决策树合并成单一的主决策树,并根据类标签的出现频率对主决策树的叶子节点进行了合并,使得在通过主决策树分类时,只需要依靠单一的决策树以及较少的条件判断即可完成分类,从而提高了分类速度。
附图说明
图1为一个实施例中构建决策树分类器的方法的流程图;
图2为一个实施例中随机森林分类器中的三个子决策树的数据结构示意图;
图3为一个实施例中生成分裂属性为X1的根节点时遍历获取对应的子分支树的过程示意图;
图4为一个实施例中生成分裂属性为X1的根节点时移除只有单一分支的节点的过程示意图;
图5为一个实施例中合并叶子节点之前的主决策树的数据结构示意图;
图6为一个实施例中合并叶子节点之后的主决策树的数据结构示意图;
图7为一个实施例中构建决策树分类器的装置的结构示意图。
具体实施方式
在一个实施例中,如图1所示,一种构建决策树分类器的方法,包括如下步骤:
步骤S102,获取样本数据。
样本数据即训练素材。可预先对搜索引擎抓取的数据进行预分类,根据该抓取的数据创建对应的类标签,从而生成样本数据。
步骤S104,构建包含多个子决策树的随机森林分类器。
在本实施例中,可通过Breiman随机森林算法(即布莱曼随机森林算法)创建包含多个子决策树的随即森林分类器。Breiman随机森林算法根据装袋(bagging)方法,随机的有放回的抽取建立每一个子决策树的样本数据集,在每个节点:从M个属性中随机无放回的选取m个属性(m通常为log2M+1,其中M为所有属性的总数),并在被选中的m个属性中选择“最好”的属性做分裂。然后让每一个子决策树都长到底,最后对每个输入样本,使用所有子决策树的结果进行投票,将获得投票数最多的类标签作为叶子节点的类标签。
步骤S106,获取多个子决策树的节点的分裂属性的出现频率,根据出现频率将多个子决策树合并成主决策树,且主决策树的叶节点对应类标集和叶属性类标签,叶属性标签为类标集中出现频率最高的类标签。
在本实施例中,获取多个子决策树的节点的分类属性的出现频率,根据出现频率将多个子决策树合并成主决策树的步骤包括:
获取多个子决策树的根节点的分裂属性;
获取根节点的分裂属性的出现频率;
根据出现频率最大的分裂属性生成主决策树的目标分支节点。
在本实施例中,根据出现频率最大的分裂属性生成主决策树的目标分支节点的步骤之后还包括:
判断目标分支节点的分裂属性是否为数值属性,若是,则获取多个子决策树的根节点中分裂属性为数值属性的节点的分裂值,并根据分裂值生成目标分支节点的子分支节点,移除多个子决策树的根节点中分裂属性为数值属性的节 点;否则,获取多个子决策树的根节点中分裂属性为类别属性的节点的类别取值,并根据类别取值生成目标分支节点的子分支节点,移除多个子决策树的根节点中分裂属性为类别属性的节点。
在本实施例中,判断目标分支节点的分裂属性是否为数值属性的步骤之后还包括:
获取目标分支节点的子分支节点的分裂属性;
将子分支节点依次添加到队列中;
获取多个子决策树中的对应子分支节点的分裂属性的子分支树;
由队列中取出子分支节点,判断子分支节点对应的子分支树下的节点是否全为叶子节点,若是,则获取子分支树下的叶子节点的类标签,并根据获取到的子分支树下的叶子节点的类标签的生成由队列取出的目标分支节点下的叶节点的类标集和叶属性类标签,且叶属性标签为类标集中出现频率最高的类标签;否则,将子分支节点作为目标分支节点,继续执行判断目标分支节点的分裂属性是否为数值属性的步骤。
在本实施例中,将子分支节点一次添加到队列中的步骤可具体为:获取随即森林中的多个子决策树的根节点的分裂属性,并获取分裂属性的出现频率,并根据该出现频率的大小对子分支节点排序后添加到队列中。
目标分支节点即主流程当前在执行时需要创建地主决策树的分支节点。也就是说,生成主决策树的每个分支节点及其子分支节点(包括根节点)时,均由此时前述已生成的随即森林中的多个子决策树的根节点的分裂属性的出现频率生成(多个子决策树的根节点在生成)。
在本实施例中,获取多个子决策树中的对应目标分支节点的分裂属性的子分支树的步骤为:
遍历多个子决策树,递归查找遍历到的子决策树的分支节点,获取其分裂属性与目标分支节点的分裂属性匹配的分支节点,获取查找到子决策树的分支节点下的子分支树。
在本实施例中,在获取查找到子决策树的分支节点下的子分支树的步骤之后还包括:遍历该子分支树,判断节点是否只有单一分支,若是,则移除该节 点,且将其单一分支上的子节点与其父节点连接。
例如,若目标分支节点的分裂属性为A≤10,则若递归遍历到的子决策树的分支节点对应的分裂属性为B、C等其他分裂属性或者分裂属性为A,但A≤n或m<A≤p或者A>m,m和n为小于或等于10的任意数值,p为大于m的任意数值,那么该分支节点的分裂属性与目标分支节点的分裂属性相匹配。若分支节点对应的分裂属性为A,但数值属性取值为A>10,那么,该分支节点的分裂属性与目标分支节点的分裂属性不匹配。也就是说,可通过判断分支节点对应的分裂属性的属性值是否部分属于目标分支节点的分裂属性的属性值的取值区间来判断是否匹配。
步骤S108,根据叶属性类标签合并主决策树的叶节点。
在本实施例中,根据叶属性类标签合并主决策树的叶节点的步骤可具体为:遍历生成的主决策树,若主决策树的分支节点A的所有子节点均为叶子节点,且它们出现频率最高的类标签均相同,则将该分支节点A缩减成一个叶子节点,其类标签为前述的出现频率最高的类标签。
步骤S110,根据主决策树生成决策树分类器。
在本实施例中,可同时参考图2、图3和图4,其中T1、T2和T3为生成的随机森林中的3个子决策树,T为生成的主决策树,X1和X2为分裂属性,a1、a2、a3和a4为分裂属性的数值属性取值范围,且a4<a3<a1<a2;b1、b2、b3、b4和b5为分裂属性的数值属性取值范围,且b2<b3<b5<b4<b1。其中,图2为随机森林算法生成的3个子决策树T1、T2和T3的数据结构,图3为获取到的出现频率最高的分裂属性为X1时对3个子决策树进行合并的过程,图4为获取到出现频率最高的分裂属性为X2时对3个子决策树进行合并的过程。再请参考图5和图6,图5为合并3个子决策树后得到的主决策树的数据结构,图6为对图5中的主决策树T合并叶节点后得到的主决策树。
在一个实施例中,如图7所示,一种构建决策树分类器的装置,包括样本获取模块102、随机森林生成模块104、合并决策树模块106、合并节点模块108和分类器生成模块,其中:
样本获取模块102,用于获取样本数据。
样本数据即训练素材。可预先对搜索引擎抓取的数据进行预分类,根据该抓取的数据创建对应的类标签,从而生成样本数据。
随机森林生成模块104,用于构建包含多个子决策树的随机森林分类器。
在本实施例中,可通过Breiman随机森林算法(即布莱曼随机森林算法)创建包含多个子决策树的随即森林分类器。Breiman随机森林算法根据装袋(bagging)方法,随机的有放回的抽取建立每一个子决策树的样本数据集,在每个节点:从M个属性中随机无放回的选取m个属性(m通常为log2M+1,其中M为所有属性的总数),并在被选中的m个属性中选择“最好”的属性做分裂。然后让每一个子决策树都长到底,最后对每个输入样本,使用所有子决策树的结果进行投票,将获得投票数最多的类标签作为叶子节点的类标签。
合并决策树模块106,用于获取多个子决策树的节点的分裂属性的出现频率,根据出现频率将多个子决策树合并成主决策树,且主决策树的叶节点对应类标集和叶属性类标签,叶属性标签为类标集中出现频率最高的类标签。
在本实施例中,获取多个子决策树的节点的分类属性的出现频率,根据出现频率将多个子决策树合并成主决策树的步骤包括:
获取多个子决策树的根节点的分裂属性;
获取根节点的分裂属性的出现频率;
根据出现频率最大的分裂属性生成主决策树的目标分支节点。
在本实施例中,根据出现频率最大的分裂属性生成主决策树的目标分支节点的步骤之后还包括:
判断目标分支节点的分裂属性是否为数值属性,若是,则获取多个子决策树的根节点中分裂属性为数值属性的节点的分裂值,并根据分裂值生成目标分支节点的子分支节点,移除多个子决策树的根节点中分裂属性为数值属性的节点;否则,获取多个子决策树的根节点中分裂属性为类别属性的节点的类别取值,并根据类别取值生成目标分支节点的子分支节点,移除多个子决策树的根节点中分裂属性为类别属性的节点。
在本实施例中,判断目标分支节点的分裂属性是否为数值属性的步骤之后 还包括:
获取目标分支节点的子分支节点的分裂属性;
将子分支节点依次添加到队列中;
获取多个子决策树中的对应子分支节点的分裂属性的子分支树;
由队列中取出子分支节点,判断子分支节点对应的子分支树下的节点是否全为叶子节点,若是,则获取子分支树下的叶子节点的类标签,并根据获取到的子分支树下的叶子节点的类标签的生成由队列取出的目标分支节点下的叶节点的类标集和叶属性类标签,且叶属性标签为类标集中出现频率最高的类标签;否则,将子分支节点作为目标分支节点,继续执行判断目标分支节点的分裂属性是否为数值属性的步骤。
在本实施例中,将子分支节点一次添加到队列中的步骤可具体为:获取随即森林中的多个子决策树的根节点的分裂属性,并获取分裂属性的出现频率,并根据该出现频率的大小对子分支节点排序后添加到队列中。
目标分支节点即主流程当前在执行时需要创建地主决策树的分支节点。也就是说,生成主决策树的每个分支节点及其子分支节点(包括根节点)时,均由此时前述已生成的随即森林中的多个子决策树的根节点的分裂属性的出现频率生成(多个子决策树的根节点在生成)。
在本实施例中,获取多个子决策树中的对应目标分支节点的分裂属性的子分支树的步骤为:
遍历多个子决策树,递归查找遍历到的子决策树的分支节点,获取其分裂属性与目标分支节点的分裂属性匹配的分支节点,获取查找到子决策树的分支节点下的子分支树。
在本实施例中,在获取查找到子决策树的分支节点下的子分支树的步骤之后还包括:遍历该子分支树,判断节点是否只有单一分支,若是,则移除该节点,且将其单一分支上的子节点与其父节点连接。例如,若目标分支节点的分裂属性为A≤10,则若递归遍历到的子决策树的分支节点对应的分裂属性为B、C等其他分裂属性或者分裂属性为A,但A≤n或m<A≤p或者A>m,m和n为小于或等于10的任意数值,p为大于m的任意数值,那么该分支节点的分裂 属性与目标分支节点的分裂属性相匹配。若分支节点对应的分裂属性为A,但数值属性取值为A>10,那么,该分支节点的分裂属性与目标分支节点的分裂属性不匹配。也就是说,可通过判断分支节点对应的分裂属性的属性值是否部分属于目标分支节点的分裂属性的属性值的取值区间来判断是否匹配。
合并节点模块108,用于根据叶属性类标签合并主决策树的叶节点。
在本实施例中,根据叶属性类标签合并主决策树的叶节点的步骤可具体为:遍历生成的主决策树,若主决策树的分支节点A的所有子节点均为叶子节点,且它们出现频率最高的类标签均相同,则将该分支节点A缩减成一个叶子节点,其类标签为前述的出现频率最高的类标签。
分类器生成模块110,根据主决策树生成决策树分类器。
在本实施例中,可同时参考图2、图3和图4,其中T1、T2和T3为生成的随机森林中的3个子决策树,T为生成的主决策树,X1和X2为分裂属性,a1、a2、a3和a4为分裂属性的数值属性取值范围,且a4<a3<a1<a2;b1、b2、b3、b4和b5为分裂属性的数值属性取值范围,且b2<b3<b5<b4<b1。其中,图2为随机森林算法生成的3个子决策树T1、T2和T3的数据结构,图3为获取到的出现频率最高的分裂属性为X1时对3个子决策树进行合并的过程,图4为获取到出现频率最高的分裂属性为X2时对3个子决策树进行合并的过程。再请参考图5和图6,图5为合并3个子决策树后得到的主决策树的数据结构,图6为对图5中的主决策树T合并叶节点后得到的主决策树。
上述构建决策树分类器的方法及装置,通过将现有技术中的随机森林分类器中的多个子决策树合并成单一的主决策树,并根据类标签的出现频率对主决策树的叶子节点进行了合并,使得在通过主决策树分类时,只需要依靠单一的决策树以及较少的条件判断即可完成分类,从而提高了分类速度。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附 权利要求为准。
Claims (6)
1.一种基于决策树分类器的数据分类的方法,包括:
获取样本数据;
构建包含多个子决策树的随机森林分类器;
获取所述多个子决策树的根节点的分裂属性,获取所述根节点的分裂属性的出现频率,根据所述出现频率最大的分裂属性生成主决策树的目标分支节点,且所述主决策树的叶节点对应类标集和叶属性类标签,所述叶属性类标签为所述类标集中出现频率最高的类标签;
判断所述目标分支节点的分裂属性是否为数值属性,若是,则获取所述多个子决策树的根节点中分裂属性为数值属性的节点的分裂值,并根据所述分裂值生成所述目标分支节点的子分支节点,移除所述多个子决策树的根节点中分裂属性为数值属性的节点;否则,获取所述多个子决策树的根节点中分裂属性为类别属性的节点的类别取值,并根据所述类别取值生成所述目标分支节点的子分支节点,移除所述多个子决策树的根节点中分裂属性为类别属性的节点;
遍历所述主决策树,将所述叶属性类标签相同的所述叶节点缩减为同一个叶节点;
根据所述主决策树生成决策树分类器;
获取搜索引擎中用户输入的关键字,采用生成的决策树分类器获取所述关键字对应的类标签以使所述搜索引擎对所述关键字分类。
2.根据权利要求1所述的基于决策树分类器的数据分类的方法,其特征在于,所述判断所述目标分支节点的分裂属性是否为数值属性的步骤之后还包括:
获取所述目标分支节点的子分支节点的分裂属性;
将所述子分支节点依次添加到队列中;
获取所述多个子决策树中的对应所述子分支节点的分裂属性的子分支树;
由所述队列中取出子分支节点,判断所述子分支节点对应的子分支树下的节点是否全为叶子节点,若是,则获取子分支树下的叶子节点的类标签,并根据所述获取到的子分支树下的叶子节点的类标签生成所述由队列取出子分支节点下的叶节点的类标集和叶属性类标签,且所述叶属性类标签为所述类标集中出现频率最高的类标签;否则,将所述子分支节点作为目标分支节点,继续执行所述判断所述目标分支节点的分裂属性是否为数值属性的步骤。
3.根据权利要求2所述的基于决策树分类器的数据分类的方法,其特征在于,所述获取所述多个子决策树中的对应所述目标分支节点的分裂属性的子分支树的步骤为:
遍历所述多个子决策树;
递归查找遍历到的子决策树的分支节点,获取其分裂属性与所述目标分支节点的分裂属性匹配的分支节点,获取所述查找遍历到的子决策树的分支节点下的子分支树。
4.一种基于决策树分类器的数据分类的装置,其特征在于,包括:
样本获取模块,用于获取样本数据;
随机森林生成模块,用于构建包含多个子决策树的随机森林分类器;
合并决策树模块,用于获取所述多个子决策树的节点的分裂属性的出现频率,根据所述出现频率将所述多个子决策树合并成主决策树,且所述主决策树的叶节点对应类标集和叶属性类标签,所述叶属性类标签为所述类标集中出现频率最高的类标签,还用于获取所述多个子决策树的根节点的分裂属性,获取所述根节点的分裂属性的出现频率,根据所述出现频率最大的分裂属性生成所述主决策树的目标分支节点;还用于判断所述目标分支节点的分裂属性是否为数值属性,若是,则获取所述多个子决策树的根节点中分裂属性为数值属性的节点的分裂值,并根据所述分裂值生成所述目标分支节点的子分支节点,移除所述多个子决策树的根节点中分裂属性为数值属性的节点;否则,获取所述多个子决策树的根节点中分裂属性为类别属性的节点的类别取值,并根据所述类别取值生成所述目标分支节点的子分支节点,移除所述多个子决策树的根节点中分裂属性为类别属性的节点;
合并节点模块,用于遍历所述主决策树,将所述叶属性类标签相同的所述叶节点缩减为同一个叶节点;
分类器生成模块,用于根据所述主决策树生成决策树分类器;
数据分类模块,用于获取搜索引擎中用户输入的关键字,采用生成的决策树分类器获取所述关键字对应的类标签以使所述搜索引擎对所述关键字分类。
5.根据权利要求4所述的基于决策树分类器的数据分类的装置,其特征在于,所述合并决策树模块还用于获取所述目标分支节点的子分支节点的分裂属性;
将所述子分支节点依次添加到队列中;
获取所述多个子决策树中的对应所述子分支节点的分裂属性的子分支树;
由所述队列中取出子分支节点,判断所述子分支节点对应的子分支树下的节点是否全为叶子节点,若是,则获取子分支树下的叶子节点的类标签,并根据所述获取到的子分支树下的叶子节点的类标签生成所述由队列取出的子分支节点下的叶节点的类标集和叶属性类标签,且所述叶属性类标签为所述类标集中出现频率最高的类标签;否则,将所述子分支节点作为目标分支节点,循环继续判断所述目标分支节点的分裂属性是否为数值属性。
6.根据权利要求5所述的基于决策树分类器的数据分类的装置,其特征在于,所述合并决策树模块还用于遍历所述多个子决策树,递归查找遍历到的子决策树的分支节点,获取其分裂属性与所述目标分支节点的分裂属性匹配的分支节点,获取所述查找遍历到的子决策树的分支节点下的子分支树。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210580719.8A CN103902591B (zh) | 2012-12-27 | 2012-12-27 | 构建决策树分类器的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210580719.8A CN103902591B (zh) | 2012-12-27 | 2012-12-27 | 构建决策树分类器的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103902591A CN103902591A (zh) | 2014-07-02 |
CN103902591B true CN103902591B (zh) | 2019-04-23 |
Family
ID=50993919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210580719.8A Active CN103902591B (zh) | 2012-12-27 | 2012-12-27 | 构建决策树分类器的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103902591B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105718493B (zh) * | 2014-12-05 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 基于决策树的搜索结果排序方法及其装置 |
CN105787525A (zh) * | 2014-12-26 | 2016-07-20 | 小米科技有限责任公司 | 图像检测方法及装置 |
CN104866314A (zh) * | 2015-05-27 | 2015-08-26 | 常州大学 | 一种基于循环更新模式的决策树构建方法 |
US10325204B2 (en) * | 2015-07-06 | 2019-06-18 | Texas Instruments Incorporated | Efficient decision tree traversal in an adaptive boosting (AdaBoost) classifier |
US10304007B2 (en) | 2015-12-08 | 2019-05-28 | International Business Machines Corporation | Using a plurality of heterogeneous decision engines to produce a single decision |
CN107240087B (zh) * | 2016-11-01 | 2020-04-24 | 北京深鉴智能科技有限公司 | 目标检测系统和方法 |
CN108334951B (zh) * | 2017-01-20 | 2023-04-25 | 微软技术许可有限责任公司 | 针对决策树的节点的数据的预统计 |
CN107273923B (zh) * | 2017-06-02 | 2020-09-29 | 浙江理工大学 | 一种纺织面料摩擦声波辨别器的构建方法 |
CN108572865A (zh) * | 2018-04-04 | 2018-09-25 | 国家计算机网络与信息安全管理中心 | 一种任务队列处理方法和装置 |
CN108921600A (zh) * | 2018-06-20 | 2018-11-30 | 北京京东金融科技控股有限公司 | 实现信息分类的装置和方法及存储介质 |
CN109307159A (zh) * | 2018-08-21 | 2019-02-05 | 湖南大学 | 一种基于用水量优化预测模型的管网漏损报警方法 |
CN109893137B (zh) * | 2019-03-07 | 2021-09-03 | 山东科技大学 | 基于移动终端在不同携带位置下改善步态检测的方法 |
CN110084377B (zh) * | 2019-04-30 | 2023-09-29 | 京东城市(南京)科技有限公司 | 用于构建决策树的方法和装置 |
CN112016943A (zh) * | 2019-05-29 | 2020-12-01 | 福州云豆网络科技有限公司 | 一种基于数据分类算法的银行营销活动管理方法 |
CN111126062B (zh) * | 2019-12-25 | 2021-09-24 | 北京中技华软科技服务有限公司 | 一种产业自动分类方法及系统 |
CN111738450B (zh) * | 2020-05-21 | 2024-05-28 | 平安科技(深圳)有限公司 | 基于模型训练的节点解析方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040107184A1 (en) * | 2001-01-06 | 2004-06-03 | Longshaw Thomas Benjamin | Method of querying a structure of compressed data |
CN102831440A (zh) * | 2012-08-20 | 2012-12-19 | 中国测绘科学研究院 | 一种广域遥感影像决策树分类方法及装置 |
-
2012
- 2012-12-27 CN CN201210580719.8A patent/CN103902591B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040107184A1 (en) * | 2001-01-06 | 2004-06-03 | Longshaw Thomas Benjamin | Method of querying a structure of compressed data |
CN102831440A (zh) * | 2012-08-20 | 2012-12-19 | 中国测绘科学研究院 | 一种广域遥感影像决策树分类方法及装置 |
Non-Patent Citations (1)
Title |
---|
Classifying Very High-Dimensional Data with Random Forests Built from Small Subspaces;Graham Williams et al;《International Journal of Data Warehousing and Mining》;20120630;第8卷(第2期);第46、48-53页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103902591A (zh) | 2014-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103902591B (zh) | 构建决策树分类器的方法及装置 | |
Singh et al. | Comparative study ID3, cart and C4. 5 decision tree algorithm: a survey | |
CN101604363B (zh) | 基于文件指令频度的计算机恶意程序分类系统及分类方法 | |
CN102346829B (zh) | 基于集成分类的病毒检测方法 | |
CN103544188B (zh) | 移动互联网内容的用户偏好推送方法与装置 | |
CN103092975A (zh) | 基于主题共识覆盖率的网络社区垃圾信息检测与过滤方法 | |
CN103927398A (zh) | 基于最大频繁项集挖掘的微博炒作群体发现方法 | |
CN104766098A (zh) | 一种分类器的构建方法 | |
CN106254321A (zh) | 一种全网络异常数据流分类方法 | |
CN104572757B (zh) | 微博群体处理方法及装置 | |
CN104035954A (zh) | 一种基于Hadoop的套牌车识别方法 | |
CN106326913A (zh) | 一种洗钱账户的确定方法及装置 | |
CN115495755B (zh) | 一种基于CodeBERT和R-GCN的源代码漏洞多分类检测的方法 | |
CN108108455A (zh) | 目的地的推送方法、装置、存储介质及电子设备 | |
CN104331523A (zh) | 一种基于概念对象模型的问句检索方法 | |
CN104484412A (zh) | 基于多形式处理的大数据分析系统 | |
Acampora et al. | A comparison of multi-objective evolutionary algorithms for the ontology meta-matching problem | |
CN103793589B (zh) | 一种高速列车故障处理方法 | |
CN107465814B (zh) | 一种基于手机惯性传感器的用户输入识别方法 | |
Gurav et al. | Survey on automated system for fake news detection using NLP & machine learning approach | |
CN104951478A (zh) | 信息处理方法和信息处理装置 | |
Shi et al. | Efficient class incremental learning for multi-label classification of evolving data streams | |
CN103324888A (zh) | 基于家族样本的病毒特征自动提取方法及系统 | |
CN108009298B (zh) | 一种互联网人物搜索信息整合分析控制方法 | |
Angel et al. | Recurrent rotor-router configurations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |