我有一个想用机器学习解决的问题。我想使用某种分类来了解树数据结构中刚刚添加的更改是“好”还是“坏”。
假设我有这棵树:
(A)
/ \
/ \
(B) (C)
我对其进行了更改(“好”的更改,因此算法应该将此更改与“好”的更改相关联)。更新的树将是这样的:
(A)
/ \
/ \
(D) (C)
/
/
(B)
在另一个节点 (B) 上方添加某个节点 (D) 将被归类为“良好”更改。
所以当我让学习器拥有正确的数据时,算法应该能够知道,如果我在 B 类型的节点之上添加一个 D 类型的节点,这是一个“好”的变化。
我想使用保持树结构的 XML 文件,像朴素贝叶斯这样的简单分类器不起作用,因为它无法识别一个节点是否添加到另一个节点之上,它只能知道已经添加了一个节点。
我不知道应该如何使用哪种算法/技术,也不知道应该如何将数据传递给学习者,因为这种情况下的上下文很重要。
比较树木变化的最佳技术/算法是什么?