Saturday, January 10, 2015

Book Review: Applied Predictive Modeling


Activity in the world of online education tends to slow around the holidays, until new courses launch in mid-January and early February.  With the lull in MOOCs of interest, I decided to use the holidays and new year read some data science books. I picked up 3 books over the holidays: Applied Predictive Modeling, Data Science for Business, and Learning from Data. In my search for interesting data science books, it became clear to me that books on the subject generally to fall into one of three categories: 

1. High level, anecdotal books aimed at business people and curious laymen who want to gain some understanding what data science is and what it can do. 

2. Practical books that describe machine learning techniques (and possibly code) in enough detail for readers to gain an understanding of how to use them in practice, either by implementing them from scratch or tapping into software packages.

3. Books filled with matrix operations and summations that dive into the nitty-gritty mathematical underpinnings of data science theory and algorithms.

For my first review, I decided to start in the middle: Applied Predictive Modeling falls squarely in category #2. The book is essentially 550 pages of descriptions of machine learning techniques followed by computing sections showing you how to use the techniques in the R programming language, often using the caret package. Since one of the authors, Max Kuhn, is also the main author and maintainer of the caret package, you can be confident that the code and techniques provided follow best practices and use the package as intended.

Applied predictive modeling covers a very wide range of learning algorithms in the context of both classification and regression including linear regression, ridge regression LASSO, MARS, KNN, K-means, linear discriminant analysis, support vector machines, neural networks, tree-based models, boosting and bagging. It describes each method in adequate detail to gain a solid understanding of what they do under the hood and in some cases, it provides pseudocode for implementing them from scratch. It also covers a variety of practical concerns including data preprocessing, overfitting, remedies for class imbalance, measuring feature importance, feature selection and  factors that can affect model performance.

The book seems to follow the maxim of explaining things in terms are "as simple as possible, but not simpler." That's not to say there isn't a good bit of math in the book and that all the concepts are easy to grasp, but it avoids mathematical diversions and theory that aren't necessary to understand and apply the practical tools that are its focus. As a long book that is organized in logical sections, it probably makes more sense study specific techniques of interest than to read through it from cover to cover.

For what it is, Applied Predictive Modeling is about as good as it gets. It is clear, comprehensible, uses illustrative figures well (and shows you how to build many of them yourself) and discusses most topics at a level that doesn't require you to be a mathematician. My only real qualm with the book is that it was released in the summer of 2013; a year is a long time such a fast-moving field. As such, some of caret package features may have changed since the book was released.

I give Applied Predictive Modeling a rating of 5 stars out of 5: Excellent.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.