http://www.emgu.com
The MCvDTreeParams type exposes the following members.
Methods
Name  Description  

Equals  Indicates whether this instance and a specified object are equal. (Inherited from ValueType.)  
Finalize  Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)  
GetDefaultParameter 
Get the default Decision tree training parameters
 
GetHashCode  Returns the hash code for this instance. (Inherited from ValueType.)  
GetType  Gets the type of the current instance. (Inherited from Object.)  
MemberwiseClone  Creates a shallow copy of the current Object. (Inherited from Object.)  
ToString  Returns the fully qualified type name of this instance. (Inherited from ValueType.) 
Fields
Name  Description  

cvFolds 
If this parameter is >1, the tree is pruned using cv_foldsfold cross validation.
 
maxCategories 
If a discrete variable, on which the training procedure tries to make a split, takes more than max_categories values, the precise best subset estimation may take a very long time (as the algorithm is exponential). Instead, many decision trees engines (including ML) try to find suboptimal split in this case by clustering all the samples into max_categories clusters (i.e. some categories are merged together).
Note that this technique is used only in N(>2)class classification problems. In case of regression and 2class classification the optimal split can be found efficiently without employing clustering, thus the parameter is not used in these cases.
 
maxDepth 
This parameter specifies the maximum possible depth of the tree. That is the training algorithms attempts to split a node while its depth is less than max_depth. The actual depth may be smaller if the other termination criteria are met (see the outline of the training procedure in the beginning of the section), and/or if the tree is pruned.
 
minSampleCount 
A node is not split if the number of samples directed to the node is less than the parameter value.
 
priors 
The array of a priori class probabilities, sorted by the class label value. The parameter can be used to tune the decision tree preferences toward a certain class. For example, if users want to detect some rare anomaly occurrence, the training base will likely contain much more normal cases than anomalies, so a very good classification performance will be achieved just by considering every case as normal. To avoid this, the priors can be specified, where the anomaly probability is artificially increased (up to 0.5 or even greater), so the weight of the misclassified anomalies becomes much bigger, and the tree is adjusted properly.
 
regressionAccuracy 
Another stop criteria  only for regression trees. As soon as the estimated node value differs from the node training samples responses by less than the parameter value, the node is not split further.
 
truncatePrunedTree 
If true, the cut off nodes (with Tn<=CvDTree::pruned_tree_idx) are physically removed from the tree. Otherwise they are kept, and by decreasing CvDTree::pruned_tree_idx (e.g. setting it to 1) it is still possible to get the results from the original unpruned (or pruned less aggressively) tree.
 
use1seRule 
If true, the tree is truncated a bit more by the pruning procedure. That leads to compact, and more resistant to the training data noise, but a bit less accurate decision tree.
 
useSurrogates 
If true, surrogate splits are built. Surrogate splits are needed to handle missing measurements and for variable importance estimation.
