Although it is a powerful paradigm for the processing of scientific evidence into facts and truths, and for the construction of phenomenological models that account for randomness, the framework of classical statistics can often be restrictive and inflexible. Parallel to the development of statistical methods, computer scientists have developed their own paradigm of machine learning, which focuses on a more computational perspective of the processing of data into facts and predictions. Since its conception, the theory of statistical learning was introduced and has been able to unify the flexibility of machine learning methods with the theoretical rigour of statistical theory. Thus, machine learning methods, when applied in the right way, can be used to generate statistical inference in the same way as traditional techniques. We shall introduce a number of machine learning algorithms and their applications and describe how they can be used for statistical inference.