Decision Tree is a supervised algorithm used in machine learning. It is using a binary tree graph (each node has two children) to assign for each data sample a target value. The target values are presented in the tree leaves. To reach the leaf, the sample is propagated through nodes, starting at the root node. In each node a decision is made, to which descendant node it should go. A decision is made based on the selected sample’s feature. It is usually one feature used to make the decision (one feature is used in the node to make a decision). Decision tree learning is a process of finding the optimal rules in each internal tree node according to the selected metric.
L. Breiman, J. Friedman, R. Olshen, and C. Stone, Classification and Regression Trees, 1984
T. Hastie, R. Tibshirani and J. Friedman., Elements of Statistical Learning, Springer, 2009.
License for Scikit-Learn implementation of Decision Tree: New BSD License