使用机器学习比较树木变化的最佳技术/算法是什么?

时间:2015-05-19 13:14:34

标签: tree machine-learning artificial-intelligence classification

我有一个问题,我想用机器学习来解决。我想使用某种分类来了解树数据结构中刚刚添加的更改是“好”还是“坏”。 假设我有这棵树:

        (A) 
        / \
       /   \
     (B)   (C)

我对它应用了一个更改(一个“好的”更改,因此算法应该将此更改与“好”更改相关联)。更新后的树将是这样的:

       (A)
       / \
      /   \
    (D)   (C)
    /
   /
 (B)

在另一个节点(B)上方添加某个节点(D)将被归类为“良好”变化。 因此,当我让学习者拥有正确的数据时,算法应该能够知道如果我在类型B的节点上添加类型D的节点,那么这是一个“好”的改变。

我想使用保留树结构的XML文件,像天真的贝叶斯这样的简单分类器不起作用,因为它无法识别节点是否被添加到另一个节点之上,它只会是能够知道已经添加了一个节点。

我不知道应该使用哪种算法/技术,我不知道如何将数据传递给学习者,因为这种情况下的上下文非常重要。

我是机器学习的新手,很抱歉,如果这是一个愚蠢的问题。

由于

1 个答案:

答案 0 :(得分:1)

所有类型的分类器在不同的场景中表现不同:SVM,AdaBoost,RandomForest甚至是(幼稚)贝叶斯分类器。只需了解一些包含大量这些算法的编程语言库并尝试使用它们。

更重要的是训练分类器的功能。在你的情况下,......

  • 树的深度
  • 树的平衡
  • 顺序
  • 按节点顺序加权的节点的某些属性