Back to index
OtherAround 360 pages across 7 chapters, three to five weeks working the examples·Around $55 in print, or included with an O'Reilly subscription

Practical Statistics for Data Scientists, Second Edition (Bruce, Bruce and Gedeck)

4.3

Fills the specific gap left by every machine learning course, which is the statistical judgement to know whether your result means anything. Concise, opinionated and refreshingly willing to say which classical topics you can ignore.

What We Liked

  • Explicitly filters classical statistics down to what data work actually requires
  • Every concept comes with both R and Python code, which is unusual and genuinely useful
  • The resampling and bootstrap coverage is clearer than most textbook treatments
  • Short entries with consistent structure make it work as a reference after the first read
  • Honest about multiple testing, p-hacking and the ways analyses quietly mislead

What Could Be Better

  • Breadth over depth, so several topics get a page where they deserve a chapter
  • Not a first statistics book, despite occasionally being recommended as one
  • The R code is arguably the better of the two, which grates if you are Python only
  • Bayesian methods get almost nothing, which is a real omission in a modern text
  • Second edition is from 2020 and the machine learning chapters have dated the fastest

Detailed review

There is a common shape to a self taught data career. You learn Python, you learn pandas, you learn scikit-learn, you produce a model with a respectable accuracy score, and then somebody asks whether the difference between your model and the previous one is real or noise, and you discover you have no idea how to answer. This book is aimed precisely at that moment. The framing is the selling point.

Rather than working through a statistics curriculum and hoping the relevance emerges, the authors start from what data work demands and select accordingly. Exploratory analysis, distributions and sampling, statistical experiments and significance testing, regression, classification, machine learning basics and unsupervised methods. Along the way they are unusually direct about which classical topics carry their weight in practice and which are historical baggage from an era when computation was expensive. Being told that a particular test exists mainly because nobody could resample in 1935 is more useful than being drilled in it.

The resampling and bootstrap material is the strongest part and the one I would send people to first. The bootstrap is conceptually simple, enormously practical, and taught badly almost everywhere because textbooks reach it after a long detour through analytical sampling distributions. Here it arrives early and intuitively, and the result is a reader who can put a confidence interval on almost any statistic without needing to remember a formula. For anybody who works with data and does not have a statistics degree, that single capability changes how you report results.

The experimental design and significance chapter is the other section that earns its place. A/B testing, power, multiple testing, the various ways a well intentioned analysis produces a confident wrong answer. The treatment of multiple comparisons and researcher degrees of freedom is direct, and this is exactly the material that stops somebody running twenty variants, finding one significant at the five percent level, and shipping it. The dual R and Python code is unusual and mostly works well.

Seeing the same idea expressed in both languages does help separate the concept from the implementation. It is worth saying that the R implementations often read better, which is unsurprising given the language was built for this, and a Python only reader will occasionally feel they are getting the translated version. The complaints follow from the scope. Three hundred and sixty pages covering that range means brevity, and brevity means some topics get a page and a half where they need a chapter.

Regression diagnostics is the case I notice most, because it is where practitioners get into trouble and the treatment here is more a checklist than an understanding. The machine learning chapters are the weakest part of the book and always were. Trees, bagging and boosting get a competent summary that is much thinner than what any dedicated resource offers, and given readers arriving here almost certainly already have a machine learning book, those pages could have gone to more statistics. They have also dated faster than the rest.

The Bayesian omission is the one I find hardest to defend. A book published in 2020 claiming to cover the practical statistics a data scientist needs, with essentially nothing on Bayesian methods, is making a choice that was already contestable then. Plenty of applied work benefits from thinking in priors and posteriors, and a reader who finishes this will not know that framework exists in any usable form. It is also not a first statistics book, whatever the recommendation threads say.

The compression assumes you have met these ideas before and need them organised, sharpened and connected to practice. Somebody who has never seen a hypothesis test will find the pacing brutal and should start with a gentler text and come here second. My 4.3 reflects a genuinely useful book that knows what it is for. It filled a real gap in my own knowledge, it is short enough to actually finish, and it is honest about the ways analysis goes wrong.

It loses ground for thin treatment of several important topics, for the machine learning chapters that would be better cut, and for skipping Bayesian methods almost entirely. If you can train a model and cannot say whether the improvement is real, buy it.

[ final ]

The verdict.

The right book for an engineer who can train a model and cannot defend the result. Pair it with a proper statistics text if you need the derivations.