This is a type of supervised learning algorithm used for classification problems. It involves creating a tree-like model of decisions and their possible consequences. Each node in the tree represents a decision and the branches represent the possible outcomes.