# How is this different from other machine learning books?

Good question! There are already a bunch of books out there that explain how to do machine learning using Python. So, when the publisher approached me and asked if I would be interested in writing "Python Machine Learning," my first thought was: "Does the world really need another book about machine learning and Python?" I gave myself a week to think about it, and meanwhile I browsed through (most of) the other books that were out there. I am afraid to say so, but I honestly didn't like them much. The reason is that they largely treat machine learning as a black box, and most of them read like a scikit-learn documentation.
Also, I didn't want to write another theoretical book since there are already many excellent ones out there, for example, C.M. Bishop's "Pattern Recognition and Machine Learning" or "The Elements of Statistical Learning" by Trevor Hastie, Robert Tibshirani, and Jerome Friedman. My take on this topic would be a mix between the two extremes, and I wanted to introduce the machine learning theory but provide practical examples as well. Those "code examples" are supposed to 1) illustrate the concepts to aid the learning experience, and 2) serve as a reference so that readers can directly apply those techniques for real-world problem solving.

<hr>

**The tl:dr; version:**

This is not yet just another "this is how scikit-learn works" book. I aim to explain how Machine Learning works, tell you everything you need to know in terms of best practices and caveats, and then we will learn how to put those concepts into action using NumPy, scikit-learn, Theano and so on :).

<hr>

Sure, this book will also contain a decent amount of "math & equations," and in my opinion, there is no way around it if we want to get away from the "black box thinking." However, I hope I managed to make it really easy to follow so that it can be read by a person who doesn't have a strong math background. Many parts of this book will provide examples in scikit-learn, in my opinion the most beautiful and practical machine learning library. However, we will also implement certain algorithms, which are not part of scikit-learn yet, by ourselves to boost our learning experience, for example, adaptive linear neurons, sequential feature selection algorithms, and multilayer artificial neural networks with backpropagation.
However, this book is not only about learning algorithms, but I also have a strong emphasis on "best practices" and everything that comes before and after the "model learning" in a machine learning application pipeline. Dealing with missing data, transforming categorical data into proper formats, extracting features, evaluating models via cross-validation, comparing algorithms with nested cross-validation, plotting receiver operator characteristics just to name a few ... All in all, this (350 page) short book provides you with everything you need to apply machine learning to real-world problem solving!
