针对决策树的节点的数据的预统计制造技术

技术编号:18554402 阅读:39 留言:0更新日期:2018-07-28 11:15
本公开的实施例涉及基于针对节点的数据的预统计的决策树生成。获取针对决策树的节点的多个数据样本,这些数据样本关于第一特征具有相应的特征值。在从预定义的多个数值范围中确定目标范围,使得落入目标范围中的特征值的数目超过了预定阈值数目。继而,将除落入目标范围中的特征值之外的其余特征值分配到相应的数值范围,并且对基于其余特征值的分配对落入所有数值范围中的特征值计数,以用于多个数据样本向节点的子节点的分配。此种方式,显著提高了数据处理速度和效率,进而提高了决策树的生成速度和效率。

【技术实现步骤摘要】
针对决策树的节点的数据的预统计
技术介绍
决策树是机器学习模型或过程中广泛使用的一项技术。利用该技术,可以对数据之间的非线性相关性进行建模,并且可以得到能够解释的结果,而无需额外的诸如归一化等特征预处理。在与不同的损失函数组合时,决策树可以跨分类、递归和排名等各种领域使用。而且,在与诸如套袋法(bagging)和提升法(boosting)等不同的集成技术组合时,可以衍生出多种决策树算法,例如包括随机森林、梯度提升决策树(GBDT)等等。作为示例,决策树已经通过与不同的损失函数和不同的集成技术组合而广泛用于如下网络(例如Web)应用中:Web搜索中的文档排名、广告目标的点击预测、等等。在决策树算法中,通过从根部递归地对各个节点进行分裂来实现单棵树的拟合。传统的决策树的生成需要对训练数据进行可观数目的访问,这种频繁的访问将不可避免地引入了很大的处理延时,大大降低了处理效率。
技术实现思路
本公开的实施例提出了一种基于决策树的数据处理机制。该机制针对节点的数据样本的特征值进行预统计,以找出较多特征值所落入的数值范围。借助于该统计在将数据样本分配到节点的子节点时仅需要对一少部分数据进行访问。在一些实施例中,针对决策树的节点的多个数据样本被获取,这些数据样本关于某个特征具有相应的特征值。继而,来自于预定义的多个数值范围中的目标范围被确定,使得落入目标范围中的特征值的数目超过了预定阈值数目。相应地,只需将除落入目标范围中的特征值之外的其余特征值分配到相应的数值范围,就可以对落入所有数值范围中的特征值计数,以用于多个数据样本向节点的子节点的分配。此种方式,可以显著提高数据处理速度和效率,进而提高了决策树的生成速度和效率。提供
技术实现思路
部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。
技术实现思路
部分无意标识要求保护的主题的关键特征或主要特征,也无意限制要求保护的主题的范围。附图说明结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:图1示出了能够实施本公开的多个实现的计算环境的框图;图2示出了根据本公开的某些实施例的树的节点的示例分裂过程;图3示出了根据本公开的某些实施例的系统中的多个机器以样本并行的方式执行节点分裂的示例流程;图4示出了根据本公开的某些实施例的系统中的多个机器以特征并行的方式执行节点分裂的示例流程;图5示出了根据本公开的某些实施例的生成决策树的示例过程;以及图6示出了根据本公开的某些实施例的方法的流程图。在所有附图中,相同或相似参考数字表示相同或相似元素。具体实施方式下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。在此使用的术语“数据样本”是指用于对学习模型(或过程)进行训练的数据。数据样本的示例包括而不限于,网络(例如Web)搜索排名中的文档,广告点击预测中的广告,等等。在此使用的术语“特征”是指作为决策树生成依据的信息,可以基于该信息可以将决策树中的一个节点分裂为子节点。作为示例,在Web搜索的排名应用中,特征可以包括但不限于如下三类:1)对查询进行建模的特征,例如包括查询中包括的项的数目、每个项的项频和逆文档频率值、不同种类的项嵌套、扩展查询、以及查询的分段等等;2)对Web文档进行建模的特征,例如包括网页排名的值、不同的锚文本的数目、文档的语言/区域标识、以及文档的分类等等;3)对查询与文档的相关性进行建模的特征,该特征描述查询与文档的匹配度,例如包括每个查询项在文档标题和锚文本中出现的频率、以及查询与文档之间的嵌套相似度等等。在广告点击预测的应用中,特征可以包括但不限于用户简档(例如,用户年龄、性别、购物偏好、等等),搜索查询内容,查询上下文(例如,日期、时间、位置、浏览器、设备、等等),广告内容,查询与广告之间的(句法和语义二者的)匹配相似度,等等。在此使用的术语“特征值”是指用于指示数据样本与特征之间的相关度的数值。特征值可以为任意适当值,包括连续的或离散的值。特征值可以由相关专业人员人工地确定。在此使用的术语“训练过程”或“学习过程”是指利用经验或者数据优化系统性能的过程。例如,在Web搜索排名过程中,可以通过训练或学习过程,逐渐优化排名的准确性。在本公开的上下文中,为讨论方便之目的,术语“训练”或者“学习”可以互换使用。在此使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。如上所述,决策树已经在机器学习模型或过程中得到广泛使用。例如,在Web搜索的排名应用中,给定一个输入用户查询,可以利用基于决策树的机器学习模型预测文档候选的相关度,继而可以根据所预测的值对文档候选进行排序。在广告点击预测的应用中,可以利用决策树预测用户点击广告的可能性。如上所述,传统的决策树的生成需要对训练数据进行可观数目的访问。例如,对树的每个节点进行分裂时,都需要遍历所有的训练数据,以便从所有分裂候选中找出最佳分裂。这将不可避免地引入很大的处理延时并且显著降低处理效率。特别地,对于Web应用的学习过程,目前已经有大规模的数据可以利用。这些数据可以包括数以亿计的数据样本,并且每个数据样本可以具有数以千计的特征。而且,Web应用还可以使用大规模的学习模型,该模型可以集成上千棵树,每棵树可以生成上百个叶子节点。这些大规模的数据和模型无疑会进一步增加处理延时并且降低处理效率。一种用于Web应用的传统机器学习模型支持样本并行方式的决策树生成。例如,可以将驻留于树的单个节点的数据样本分成多个数据部分。并行地对每个数据部分进行处理以确定局部最佳分裂,继而将各个局部最佳分裂合在一起从而确定全局最佳分裂。这种样本并行的处理方式可以实现针对样本的有效扩展,从而可以在学习过程中利用大量的数据样本。然而,在利用这种传统模型对每个数据部分进行处理以确定局部最佳分裂时,仍然需要遍历整个该数据部分,因而仍然会造成很大的处理延时。为至少部分地解决上述问题以及其它潜在问题,本公开的实施例提出了一种高效的基于决策树的数据处理方法。总体上,首先获取针对决策树的节点的多个数据样本,这些数据样本关于某个特征(称为“第一特征”)具有相应的特征值。继而,从预定义的多个数值范围中确定目标范围,使得落入目标范围中的特征值的数目超过预定阈值数目(称为“第一阈值数目”)。将除落入目标范围中的特征值之外的其余特征值分配到这些预定的数值范围,并且由此对落入所有数值范围中的特征值计数,以用于这些数据样本向节点的子节点的分配。为了便于理解本公开的原理和思想,首先考虑Web搜索排名的例子。当然,应当理解的是,在此描述的示例仅仅是为了便于理解和阐释,无意以任何方式限制本公开的范围。在此示例中,可以例如响应于搜索查询获得具有属性的文档(即本文档来自技高网
...

【技术保护点】
1.一种基于决策树的数据处理方法,包括:获取针对所述决策树的节点的多个数据样本,所述多个数据样本关于第一特征具有相应的特征值;从预定义的多个数值范围中确定目标范围,使得落入所述目标范围中的特征值的数目超过第一阈值数目;将除落入所述目标范围中的所述特征值之外的其余特征值分配到所述多个数值范围;以及基于所述其余特征值的所述分配,对落入所述多个数值范围中的所述特征值计数,以用于所述多个数据样本向所述节点的子节点的分配。

【技术特征摘要】
1.一种基于决策树的数据处理方法,包括:获取针对所述决策树的节点的多个数据样本,所述多个数据样本关于第一特征具有相应的特征值;从预定义的多个数值范围中确定目标范围,使得落入所述目标范围中的特征值的数目超过第一阈值数目;将除落入所述目标范围中的所述特征值之外的其余特征值分配到所述多个数值范围;以及基于所述其余特征值的所述分配,对落入所述多个数值范围中的所述特征值计数,以用于所述多个数据样本向所述节点的子节点的分配。2.根据权利要求1所述的方法,其中对所述特征值计数包括:用所述多个数据样本的总数,减去落入除所述目标范围之外的其余数值范围的特征值的数目,作为落入所述目标范围中的特征值数目。3.根据权利要求1所述的方法,其中所述数据处理分布在多个机器上执行,并且获取所述多个数据样本包括:在所述多个机器中的一个机器处,确定针对所述节点的数据样本集合中的样本数目是否低于第二阈值数目;以及响应于所述样本数目低于所述第二阈值数目,选择所述数据样本集合中的所有数据样本作为所述多个数据样本。4.根据权利要求3所述的方法,其中所述第一特征选自一个特征集合,并且所述第二阈值数目至少部分地基于所述特征集合中的特征数目和所述多个数值范围的数目的第一乘积来确定。5.根据权利要求4所述的方法,其中所述第二阈值数目进一步至少部分地基于所述多个机器的数目和所述第一乘积的第二乘积来确定。6.根据权利要求3所述的方法,其中所述子节点至少包括左子节点和右子节点,并且所述方法还包括:在所述多个机器中的所述一个机器处,获得第二特征和所述第二特征的阈值特征值;从所述数据样本集合中选择一个数据样本子集;以及针对所述数据样本子集中的每个数据样本:将该数据样本的关于所述第二特征的特征值与所述阈值特征值比较,基于所述比较来确定将该数据样本分配给所述左子节点还是所述右子节点,以及向所述多个机器中的另一机器发送用于指示所述确定的1比特指示符。7.根据权利要求3所述的方法,其中获取所述多个数据样本还包括:响应于所述样本数目高于所述第二阈值数目,在所述多个机器中的所述一个机器处,选择所述数据样本集合的子集作为所述多个数据样本。8.根据权利要求1所述的方法,还包括:基于所述特征值计数将所述数据样本从所述节点分配到所述子节点;确定是否已经获得所述决策树的多个叶子节点候选,所述多个叶子节点候选的数目超过第三阈值数目;响应于确定已经获得所述多个叶子节点候选,获取所述决策树的底层子树,所述底层子树包括具有相同父节点的所述叶子节点候选和所述父节点;以及响应于针对所述底层子树中的所述叶子节点候选的数据样本之间的差异低于阈值差异,将所述底层子树中的所述叶子节点候选移除。9.根据权利要求8所述的方法,其中所述节点具有兄弟节点,并且将所述数据样本从所述节点分配到所述子节点还包括:并行地执行所述数据样本从所述节点到所述子节点的分配以及针对所述兄弟节点的数据样本向所述兄弟节点的子节点的分配。10.一种电子设备,包括:处理单元;以及存储器,耦合至所述处理单元并且存储有指令,所述指令在由所述处理单元执行时执行基于决策树的数据处理,包括动作:获取针对所述决策树的节点的多个数据样本,所述多个数据样本关于第一特征具有相应的特征值;从预定义的多个数值范围中确定目标范围,使得落入所述目标范围中的特征值的数目超过第一阈值数目;将除落入所述目标范围中的所述特征值之外的其余特征值分配到所述多个数值范围;以及基于所述其余特征值的所述分配,对落入所述多个数值范围中的所述特征值计数,以用于所述多个数据样本向所述节点的子节点的分配。11.根据权利要求10所述的设备,其中对所述特...

【专利技术属性】
技术研发人员:周虎成李翠
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1