There so many books on machine learning using Python, it has become more and more difficult to choose which book to read. It would be a shame to get half way through a 700 page book to realize it wasn’t for you.
I have read so many books on machine learning, It is safe to say that each volume is unique in its own right. There are so many books with very similar titles which makes the choice even more difficult, especially when you are a beginner.
You will learn in this article, best way to identify which book is right for you before you even buy it.
Every book has a part in its intro or preface that describes who should read it. Whether you are buying from a bookstore or online, you can read through this part.
Keep an eye on these following things in the prerequisites:
- Skills: you will find in some books code snippets that proves a concept, other books may use advance Python techniques like list comprehensions, parameter unpacking and slicing. You shouldn’t expect all books to include a comprehensive list of all techniques. But it is important that it mentions the level of skill required to read and comprehend the book.
- Libraries: Books on machine learning using Python tend to use SciPy and ScikitLearn libraries to implement algorithms. Most books on deep learning cover PyTorch, TensoFlow. However, these books also use Pandas, Numpy and Matplotlib to manipulate data. Some books will be covering these libraries while other requires that you should already be familiar with them. Worth mentioning that books about those libraries are several hundred pages.
- Tools: Jupyter is one of the most common tools used in Python, it is a web based interface that lets you test your algorithms and save the result in HTML. If the book is using this tool, it should walk you through the installation and set-up.
- Skills: As you may already know, deep learning requires a great deal of calculus, linear algebra and statistics. There are books that will feature conceptual description and drawings, while others will simply spill the mathematical equations. Therefor you should check what math skills are required.
If for some reason, the book doesn’t specifically tell you the requirements, don’t worry we have other ways to find out.
The table of contents
A look at the table of contents is important ot figure out how deep the book goes into each element of machine learning. All online retailers will let you see the table of contents before ordering.
Here are some of the most important things to keep an eye out for in the table of contents:
Basics: Beginner books will spend several chapters going through the basics of machine learning, data types, data preprocessing and mathematics. Advanced books will summarize all of that in a single chapter.
Algorithms: beginner books go through all types of algorithms such as clustering, regression and classification as well as more advanced concepts like ensemble learning, hyperparameter tuning, supervised vs unsupervised learning and dimensionality reduction. Advanced books tend to have more granular chapters on very specific algorithms like principal component analysis, decision trees and support vector machines.
Libraries: Most advanced and intermediate books don’t go through libraries like Matplotlib and NumPy. However, beginner books explain in details how these libraries work and how to manipulate, load and visualize the data.
Projects: if you are picking up your first Python book, make sure the book includes end-to-end projects and practical examples on integrating machine learning into your applications. It is important for the book to have these chapters for beginner as it will walk you through the entire machine learning pipeline before going through the advanced algorithms.
Extras: before making your decision, make sure to take a look at the end of the book to find some hidden gems, like an introduction to big data platforms like Apache Spark or Hadoop. These extras will provide you with directions on where to look next in your exploration in the world of machine learning.
The code repo
While you can’t judge any book by its cover, you can certainly know a lot about a machine learning book by the code snippets it provides. Most books on Python come with an accompanying GitHub repository where you will find the code samples. You can find the address written in the book’s introduction or you can simply Google the name of the book and GitHub. Make sure you look for the right repo.
GitHub repositories of machine learning books have different structures. Generally, you should find a folder for notebooks and code samples for each chapter in the book. And different folders for assets like images and datasets.
In the chapter folder, make sure to keep an eye on these things to better judge the quality of the book:
Format: are the code snippet come in plain Python code or in Jupyter Notebook format? Jupyter gives a far better experience.
Detail: one more benefits of using Jupyter, it allows you to add non-code information. This could be used to provide setup instructions and subtitles.
Comments: it unreasonable to expect a detail commentary in a code sample of a book, but there needs to be some minimal comments which show the basic steps of the experiment. Many code files will include lines which have been omitted in the book for brevity.
The code files provides an idea of the audience intended as well as quality of the book:
- After testing a couple of code sample files, you should have a pretty good idea on the level of skill required for that book. If you see the author using inheritance, parameter unpacking, operator overloading and nested list comprehensions, you can assume that he/she thinks you are a seasoned Python coder. Beginner books will have advanced instructions.
- You can keep an eye on what type of examples the book uses. Beginner books use housing prices or customer sales to make it easier for readers to correlate as it is a real world problem. Intermediate books uses MNIST or CIFAR datasets which are great to understand hyperparameters but not good examples for end-to-end examples. Advanced books focus on showing how algorithms work, so they use make_circles, make_blobs and make_classification but as you can guess, they have no conceptual value whatsoever.
There isn’t a perfect book that will help you master machine learning using Python. Hopefully, we were able to provide you with tips to help you choose the best books that meet your needs.