类别

版本

决策树(并发)

剧情简介

该算子生成一个决策树模型,该模型可用于分类和回归。

描述

决策树是一种类似树的节点集合,用于创建与类相关的值的决策或对数值目标值的估计。每个节点表示一个特定属性的拆分规则。对于分类,该规则将属于不同类别的值分开,对于回归,它将它们分开,以便以最优的方式减少所选参数的误差标准

重复构建新节点,直到满足停止条件。对类标签属性的预测取决于在生成过程中到达该叶的大多数示例,而对数值的估计则通过平均叶中的值来获得。

这个操作符可以处理包含标称属性和数值属性的ExampleSets。标签属性对于分类必须是标称的,对于回归必须是数值的。

生成决策树模型后,可以使用应用模型操作符将决策树模型应用到新的示例中。每个示例按照分裂规则沿着树的分支,直到到达叶子。

要配置决策树,请阅读下面关于参数的文档。

分化

CHAID

CHAID算子提供了一个剪枝决策树,它使用基于卡方的准则而不是信息增益或增益比准则。此运算符不能应用于具有数字属性的ExampleSets,而只能应用于标称属性。

ID3

ID3算子提供了一种无剪枝决策树的基本实现。它只适用于具有名义属性的ExampleSets。

随机森林

随机森林操作符在不同的示例子集上创建几个随机树。最终的模型是基于所有这些树的投票。由于这种差异,它不太容易过度训练。

装袋

Bootstrap aggregating (bagging)是一种机器学习集成元算法,用于提高分类和回归模型的稳定性和分类精度。它还减少了方差,有助于避免“过度拟合”。虽然它通常应用于决策树模型,但它可以用于任何类型的模型。

输入

  • 训练集(数据表)

    用于生成决策树模型的输入数据。

输出

  • 模型(决策树)

    决策树模型从这个输出端口交付。

  • 榜样(数据表)

    作为输入给出的ExampleSet不会通过该端口更改为输出。

  • 权重(权重)

    一个包含属性和权重值的ExampleSet,其中每个权重代表给定属性的特征重要性。权重由节点上提供的给定属性的选择改进的总和给出。改进的数量取决于所选择的标准。

参数

  • 标准

    选择将根据其选择属性进行分割的标准。对于这些标准中的每一个,拆分值都针对所选标准进行了优化。它可以是以下值之一:

    • information_gain:计算所有属性的熵,选择熵最小的属性进行拆分。这种方法倾向于选择具有大量值的属性。
    • gain_ratio:信息增益的一个变体,它调整每个Attribute的信息增益,以允许Attribute值的宽度和一致性。
    • gini_index:标签特征分布之间不平等的度量。对所选属性进行拆分会导致所得到子集的平均基尼指数降低。
    • accuracy:选择一个属性进行分割,使整棵树的精度最大化。
    • least_square:选择一个属性进行分割,它最小化节点中值的平均值相对于真实值之间的平方距离。
    范围:
  • maximal_depth

    树的深度取决于ExampleSet的大小和特征。该参数用于限制决策树的深度。如果它的值被设置为'-1',则最大深度参数对树的深度不加限制。在这种情况下,树将一直构建,直到满足其他停止条件。如果将其值设置为“1”,则生成具有单个节点的树。

    范围:
  • apply_pruning

    决策树模型可以在生成后进行修剪。如果检查,一些树枝会被树叶代替信心参数。

    范围:
  • 信心

    此参数指定用于计算剪枝的悲观误差的置信水平。

    范围:
  • apply_prepruning

    此参数指定是否有更多的停止条件最大深度应该在生成决策树模型时使用。如果选中,则参数最小增益最小叶大小分体最小尺寸预修剪选项的数目被用作停止标准。

    范围:
  • minimal_gain

    节点的增益是在分裂之前计算的。如果该节点的增益大于最小增益,则该节点被分割。更高的值最小增益导致更少的分裂,从而更小的树。过高的值将完全阻止分裂,并生成具有单个节点的树。

    范围:
  • minimal_leaf_size

    叶子的大小是其子集中样本的数量。树是这样生成的,每片叶子至少有最小叶大小例数。

    范围:
  • minimal_size_for_split

    节点的大小是其子集中示例的数量。只拆分那些大小大于或等于的节点分体最小尺寸参数。

    范围:
  • number_of_prepruning_alternatives

    当在某个节点上通过预剪枝来防止分裂时,该参数将调整测试分裂的备选节点的数量。在预修剪与树生成过程并行运行时发生。这可能会防止在某些节点上分裂,当在该节点上分裂不会增加整个树的判别能力时。在这种情况下,尝试其他节点进行分裂。

    范围:

教程的过程

训练一个决策树模型

目标:RapidMiner Studio附带了一个名为“高尔夫”的样本数据集。这包含有关天气的属性,即“前景”、“温度”、“湿度”和“风”。这些都是决定游戏是否可玩的重要功能。我们的目标是训练一个决策树来预测“游戏”属性。

使用检索操作符检索'Golf'数据集。通过将Retrieve的输出端口连接到Decision Tree Operator的输入端口,将该数据提供给Decision Tree Operator。单击Run按钮。这将训练决策树模型,并将您带到Results View,您可以在其中以图形和文本描述的方式检查它。

该树显示,每当属性“Outlook”的值为“overcast”时,属性“Play”的值将为“yes”。如果属性'Outlook'的值为'rain',则可能出现两种结果:

a)如果属性“Wind”的值为“false”,则“Play”属性的值为“yes”

b)如果“Wind”属性的值为“true”,则属性“Play”为“no”。

最后,如果属性“Outlook”的值为“sunny”,则又有两种可能。

如果属性“湿度”的值小于或等于77.5,属性“Play”为“是”;如果属性“湿度”大于77.5,属性“Play”为“否”。

在本例中,叶节点只指向标签Attribute的两个可能值中的一个。“Play”属性要么是“是”,要么是“否”,这表明树模型非常适合数据。

训练一个决策树模型并应用它来预测结果

目标:本教程展示了一个使用决策树的预测分析过程。它比第一个教程稍微高级一些。它还介绍了一些基本但重要的概念,例如将数据集分成两个分区。较大的一半用于训练决策树模型,较小的一半用于测试它。我们的目标是看看树模型在测试数据集中预测乘客命运的能力有多好。

回归

在本教程过程中,决策树用于回归。带有数字目标属性的“Polynominal”数据集用作标签。在训练模型之前,数据集被分成训练集和测试集。然后,将回归值与标签值进行比较,以使用性能(回归)操作符获得性能度量。