What's the best method / algorithm for comparing tree changes using machine learning?

I have a problem that I would like to solve using machine learning. I would like to use some sort of classification to see if just an added change in the tree's data structure is "good" or "bad". Let's say I have this tree:

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

      

And I apply a change to it (a "good" change, so the algorithm should associate that change with a "good" change). The updated tree will look like this:

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

      

Added a node (D) above another node (B), which will be classified as a "good" change. So when I have a student with the correct data, the algorithm needs to know that if I add a node of type D above a node of type B, it is a "good" change.

I would like to work with XML files that store a tree structure, a simple classifier like naive fills won't work because it won't be able to recognize if a node has been added above another, it just might know that a node has been added.

I don’t know how to use the algorithm / method, and I don’t know how to pass the data to the learner, because the context is important in this scenario.

I'm new to machine learning, so sorry if this is a stupid question.

thank

+3


source to share


1 answer


All types of classifiers are executed differently in different scenarios: SVM, AdaBoost, RandomForest, and even a (naive) Bayesian classifier. Just check out some of the libraries for your favorite programming language containing some of these algorithms and try them out.

More importantly, the functions with which you train the classifiers. In your case, ...



  • tree depth
  • tree balance
  • order
  • some property of nodes, weighted by the order of these nodes
+1


source







All Articles