keywords xvii preface backgroundas well as additional informationfrom linear algebra and functional analysis (appendix )multivariate differentiation and optimization (appendix )and probability and statistics (appendix cmoreoverto make the abstract ideas come alivewe believe it is important that the reader sees actual implementations of the algorithmsdirectly translated from the theory after some deliberation we have chosen python as our programming language it is freely available and has been adopted as the programming language of choice for many practitioners in data science and machine learning it has many useful packages for data manipulation (often ported from rand has been designed to be easy to program gentle introduction to python is given in appendix to keep the book manageable in size we had to be selective in our choice of topics important ideas and connections between various concepts are highlighted via keywords and page references (indicated by +in the margin key definitions and theorems are highlighted in boxes whenever feasible we provide proofs of theorems finallywe place great importance on notation it is often the case that once consistent and concise system of notation is in placeseemingly difficult ideas suddenly become obvious we use different fonts to distinguish between different types of objects vectors are denoted by letters in boldface italicsxxand matrices by uppercase letters in boldface roman fontak we also distinguish between random vectors and their values by using upper and lower case letterse (random vectorand (its value or outcomesets are usually denoted by calligraphic letters gh the symbols for probability and expectation are and erespectively distributions are indicated by sans serif fontas in bin and gammaexceptions are the ubiquitous notations and for the normal and uniform distributions summary of the most important symbols and abbreviations is given on pages xvii-xxi data science provides the language and techniques necessary for understanding and dealing with data it involves the designcollectionanalysisand interpretation of numerical datawith the aim of extracting patterns and other useful information machine learningwhich is closely related to data sciencedeals with the design of algorithms and computer resources to learn from data the organization of the book follows roughly the typical steps in data science projectgathering data to gain information about research questioncleaningsummarizationand visualization of the datamodeling and analysis of the datatranslating decisions about the model into decisions and predictions about the research question as this is mathematics and statistics oriented bookmost emphasis will be on modeling and analysis we start in with the readingstructuringsummarizationand visualization of data using the data manipulation package pandas in python although the material covered in this requires no mathematical knowledgeit forms an obvious starting point for data scienceto better understand the nature of the available data in we introduce the main ingredients of statistical learning we distinguish between supervised and unsupervised learning techniquesand discuss how we can assess the predictive performance of (un)supervised learning methods an important part of statistical learning is the modeling of data we introduce various useful models in data science including linearmultivariate gaussianand bayesian models many algorithms in machine learning and data science make use of monte carlo techniqueswhich is the topic of monte carlo can be used for simulationestimationand optimization is concerned with unsupervised learningwhere we discuss techniques such as density estimationclusteringand principal component analysis we then turn our attention to supervised learning