*A Computational Approach to Statistical Learning* gives a novel introduction to predictive modeling by focusing on the algorithmic and numeric motivations behind popular statistical methods. The text contains annotated code to over 80 original reference functions. These functions provide minimal working implementations of common statistical learning algorithms. Every chapter concludes with a fully worked out application that illustrates predictive modeling tasks using a real-world dataset.

The text begins with a detailed analysis of linear models and ordinary least squares. Subsequent chapters explore extensions such as ridge regression, generalized linear models, and additive models. The second half focuses on the use of general-purpose algorithms for convex optimization and their application to tasks in statistical learning. Models covered include the elastic net, dense neural networks, convolutional neural networks (CNNs), and spectral clustering. A unifying theme throughout the text is the use of optimization theory in the description of predictive models, with a particular focus on the singular value decomposition (SVD). Through this theme, the computational approach motivates and clarifies the relationships between various predictive models.

Along with the physical book, the following resources are free to download and use:

- Data files for all end-of-chapter applications — [casl-data.zip]
- The
*casl*package, including all reference implementations in the text — R package - Sample chapter — Chapter 8: Neural Networks

**Taylor Arnold** is an Associate Professor at the University of Richmond. His first book, *Humanities Data in R*, was published in 2015.

**Michael Kane** is an Assistant Professor of biostatistics at Yale University. He is the recipient of grants from the National Institutes of Health (NIH), DARPA, and the Bill and Melinda Gates Foundation. His R package *bigmemory* won the Chamber's prize for statistical software in 2010.

**Bryan Lewis** is an applied mathematician and author of many popular R packages, including *irlba*, *doRedis*, and *threejs*.