The DecisionTree function takes an entire data set as training input and builds a single decision tree from it. The function creates a single decision tree in a distributed fashion, either weighted or unweighted. The model table that this function outputs can be input to the function DecisionTreePredict_MLE (ML Engine).
DecisionTree requires vworkers to communicate during the tree-building process. This communication can be very expensive, depending on the number of variables and the number of possible splits; therefore, the algorithm uses a sampling approach to reduce the number of splits.
The DecisionTree function uses the functions Approximate Percentile (ML Engine) and Percentiles (ML Engine) to sample the split values. The split table has all the splits for all the numerical attributes that were considered in building the tree.