This book presents three applications, based on Machine Learning and Genetic Programming, which are devoted to find useful patterns to predict future events. The objective is to train the algorithms by using past data to produce a classifier that identifies the positive cases and discriminates the false alarms. This work uses examples for predicting future opportunities in financial stock markets in cases where the number of profitable opportunities is scarce. However, when the number of positive examples is small in comparison with the number of total cases, the identification of useful patterns becomes a serious challenge. Nevertheless, the objective of many real world problems, is precisely to identify the minority class as the fraud detection problem, or medical diagnosis and many other examples. The techniques of this book are suitable to deal with imbalanced data sets, provide comprehensible results that allow users to understand the factors that are involved in the decision, as well as to generate a range of solutions that let the user choose the best trade off according to their risk preferences.