A supervised learning approach in which the computer program learns from the data input given to it and then uses this learning to classify new observation.