Book Review: Python Machine Learning by Sebastian Raschka

Reviews This post may contain affiliate links. If you buy something we get a small commission at no extra charge to you. (read more)

Machine learning and AI seem to be the way of the future. These techniques can help software developers create powerful applications that crunch data, analyze trends, and offer solutions that a developer may not even consider.

But getting into machine learning is no easy task. You need to have a background in programming and your algorithm skills need to be at least somewhat competent.

Python Machine Learning is one detailed book that covers machine learning from the angle of 3rd party Python libraries. The author covers many different algorithms for working with neural networks and data processing for various scenarios.

If you’re comfortable with Python and up for a challenge then this book can lead you into the world of machine learning. It’s not an easy subject, but it can be very rewarding once you understand the power of this material in practical applications.

Book Contents

This book is pretty thick clocking in at 454 pages. You get 13 total chapters which span a variety of Python libraries and toolkits for analyzing trends and patterns in datasets. This includes more advanced forms of machine learning with free 3rd party python libraries.

Here’s a breakdown of the chapters list:

  1. Giving Computers the Ability to Learn from Data
  2. Training Machine Learning Algorithms for Classification
  3. A Tour of Machine Learning Classifiers Using Scikit-learn
  4. Building Good Training Sets – Data Preprocessing
  5. Compressing Data via Dimensionality Reduction
  6. Learning Best Practices for Model Evaluation and Hyperparameter Tuning
  7. Combining Different Models for Ensemble Learning
  8. Applying Machine Learning to Sentiment Analysis
  9. Embedding a Machine Learning Model into a Web Application
  10. Predicting Continuous Target Variables with Regression Analysis
  11. Working with Unlabeled Data – Clustering Analysis
  12. Training Artificial Neural Networks for Image Recognition
  13. Parallelizing Neural Network Training with Theano

The first few chapters introduce machine learning and the basics of algos in Python. The scikit-learn library is introduced pretty early on and gets referenced throughout the whole book.

Some of the coolest features relate to the neural network built on Pylearn2 and Theano, both open source projects.

Web developers will enjoy the chapters covering machine learning applied to website analytics. The final product may not be practical but it helps you learn a lot about data analysis.

You can embed machine learning concepts into any program web-based or otherwise, so there really are no limitations.

When just getting started you’ll be introduced to basic machine learning concepts and scikit-learn so you don’t need to master either of these before reading. It does help a lot if you already know some basic Python procedures. However you can be “just good enough” and still get by.

scikit python

Most of the focus in this book covers data analysis for machine learning. This involves many 3rd party Python libraries so you’ll need to be comfortable dancing around to different resources. But they all involve Python and they’re all learnable with enough time.

Pros & Cons

The growing field of data science needs more books like this one.

The author’s choice of Python libraries doesn’t feel biased which is awesome. You get to play with a ton of open source tools which can be used for completely different purposes.

I think this book covers so many subjects in great detail that I couldn’t possibly ask for more. I knew about neural networks but had never heard of the perceptron algo before this book.

The biggest downside for me is the writing style. I don’t think it’s bad writing. But it is very detailed and hard to follow without some knowledge of machine learning.

This doesn’t mean complete beginners can’t follow along. It just means you’ll have a much easier time if you have some background in machine learning to begin with.

The author tries to keep you entertained switching between theory and practical application. The various Python libraries also come & go quickly so you’ll be moving around quite a bit. Some devs may not like this and would prefer to stick with only a few resources instead of branching out.

So the variety can be a pro or a con depending on how you like to learn.

Either way this book covers machine learning well, and for any faults in the teaching style I still think the material is top notch.

Who Is This For?

Anyone with experience in Python who wants to get deeper into AI/machine learning will really enjoy this book.

The early chapters seem simple talking about the different types of machine learning and how to install Python + libraries. But difficulty ramps up quickly so you need to be ready to follow instructions and Google when you get lost.

If you’re a beginner-to-intermediate programmer who already knows Python development then this book is 100% made for you. It helps if you already understand algorithms, but maybe don’t know how to apply them to real-world situations.

It also helps if you have a small background in machine learning or if you’re exceptionally interested to learn.

If you’re already an advanced Python developer with experience in machine learning then this may not be as useful. Even programmers without Python experience may feel like this book is a waste of time if they already understand machine learning.

But advanced developers can learn a lot by studying the mathematical models underlying each algorithm in this book.

Everyone’s goals will be different so you have to keep this in mind before grabbing this book. It is not just a simple intro to machine learning. You really need to understand Python and have the tenacity to put these ideas into action.

But this book is really for anyone who’s open to machine learning and wants to pick it up with Python. Your level of experience will dictate how easily you move through each chapter. You can be fairly inexperienced with Python and still get through this book if you put in extra effort to keep up with the material.

Final Summary

If you’re an aspiring data scientist or if you’re looking to develop machine learning programs then this book is for you. It teaches machine learning in a way that forces you to consider the end goal.

If you are not comfortable with Python or just don’t care much for the details of algorithm development then this book will not help. It also doesn’t cover much about the mathematical models, so if you’re not into that either then you won’t like this book.

However for intermediate-to-advanced developers who need to study machine learning I would give this book a solid recommendation. Python Machine Learning is thick but full of great examples and it tries to reach you at every skill level.

If you already have some machine learning knowledge before this book then you’re in great shape. But you can grab a copy with just some Python skills and work your way up to machine learning expertise.

Review Rating: 4/5


Alex is a fullstack developer with years of experience working in digital agencies and as a freelancer. He writes about educational resources and tools for programmers building the future of the web.