Using a novel integration of mathematics and Python codes, this book illustrates the fundamental concepts that link probability, statistics, and machine learning, so that the reader can not only employ statistical and machine learning models using modern Python modules, but also understand their relative strengths and weaknesses. To clearly connect theoretical concepts to practical implementations, the author provides many worked-out examples along with "Programming Tips" that encourage the reader to write quality Python code. The entire text, including all the figures and numerical results, is reproducible using the Python codes provided, thus enabling readers to follow along by experimenting with the same code on their own computers.
Modern Python modules like Pandas, Sympy, Scikit-learn, Statsmodels, Scipy, Xarray, Tensorflow, and Keras are used to implement and visualize important machine learning concepts like the bias/variance trade-off, cross-validation, interpretability, and regularization. Many abstract mathematical ideas, such as modes of convergence in probability, are explained and illustrated with concrete numerical examples. This book is suitable for anyone with undergraduate-level experience with probability, statistics, or machine learning and with rudimentary knowledge of Python programming.