| Random Decision Forests provide sort of a middle ground. For training, a large set of decision trees are built randomly based on the input features. When classifying input for one tree, each node considers feature value of the input, and decides on a branch. Leafs corresponds to a classification, so when a leaf is reached, the tree has classified the given input. By having a large set of trees, and picking e.g. the most common resulting class (majority vote), we increase accuracy. However, each individual tree can actually be reasoned about. E.g. you can see the analysis (nodes) leading to each class (leafs). I've had some success with RDFs in the past, and highly recommend them! They are very easy to implement, very efficient to train and query, and they seem to work really great on classification of "discrete input" (i.e. where the input feature values are binary or from relatively small sets). |