Knowledge discovery involves non-trivially extracting useful and previously unknown information from data. It includes data mining to detect patterns in prepared data. Knowledge discovery can be divided into classification, numerical prediction, association, and clustering and is used for applications like financial forecasting, targeted marketing, medical diagnosis, and fraud detection. Data mining can use labeled data with known attributes to predict unknown attributes through supervised learning, or unlabeled data without known attributes through unsupervised learning such as association rules and clustering.