“I do believe something very magical can happen when you read a book.” — J.K. Rowling

When I wanted to explore the machine learning world, I knew I would be requiring good books. Books that would teach me the ins and outs of this world.

I wandered around on the internet, as a curious explorer. I found a few handfuls of books that were not only great for beginners but also provided a hands-on approach to entering this world.

So what are these books for?

These are the few broad topics which we are looking to cover by reading these books:

  • Data Analysis: Machine Learning requires data. Huge amounts of data. And before we can begin any model creation, we will need to get the data preprocessed to get insights.
  • Machine Learning: Machine Learning is all about learning from data, and using mathematical models to make predictions.
  • Deep Learning: All about neural networks and the mathematics behind it.

Once we have identified the topics, let’s go on to the books. Shall we?

Note: The books recommended here are based on my choices and research. Also, I am not sponsoring them in any manner. The post assumes you are have a Python background and have some experience with the language.

Python for Data Analysis

By Wes McKinney. Publisher O’Reilly Media, Inc.

This book has been widely popular on YouTube recommendations for beginners. And I was also drawn by the fact that the author himself is one of the maintainers of the popular Library for data wrangling — pandas.

About the book, the title might be misleading because the book is all about:

  • pandas: A Python library providing tools for data wrangling, augmentation, and exploration.
  • NumPy: Library for fast numerical computation, along with data structures in Python backed by C code.
  • matplotlib: A very beginner-friendly plotting library for creating various plots in Jupyter Notebook.
  • And few other things that you might not want to miss.

I completed this book while practicing the various examples, which you can find here. After reading the book, it’s now much easier to plot graphs and explore data. And not to mention I don’t feel the need to ask on Stack Overflow, “How to do this <insert some operation on data> on my data?”

So this is a good starting point for getting comfortable with the Python libraries which you are going to be using day-to-day.

Hands-on Machine Learning with Scikit-Learn, Keras & TensorFlow

By Aurélien Geron. Publisher O’Reilly Media, Inc.

Another YouTube recommended book which I’m pleased to get my hands on.

I am actually going through this book right now (as of April, 2021) and writing notes. It is brilliant in the sense that it starts with really the basics of machine learning while not forgetting about mathematics and procedures.

I was also able to learn a lot of machine learning vocabularies like over-fitting, under-fitting, exploding gradients, gradient descent, and a lot more. I hope you will be able to as well.

The book is divided into 2 parts:

  • Part 1: This section is to get you ready and get your foot into the world of machine learning. Getting a grasp of Scikit-Learn API and machine learning techniques is the main focus. This part also teaches about technical terms (what I would vocabulary).
  • Part 2: Welcome to deep learning! The 2nd part uses TensorFlow framework (sorry PyTorch) as a deep learning library to show you what mighty things are possible with deep learning. The book doesn’t end there and goes on to deploying the model and more tips and precautions.

The interesting thing is that the book starts any topic with a little bit of explanation, then code, and at last, the in-depth explanation of the stuff you just wrote about or wrote down (for things that you won’t be able to naturally remember).

Deep Learning (Adaptive Computation and Machine Learning series)

By Ian Goodfellow, Yoshua Begio and Aaron Courville.

A massive book from the giants of the deep learning world.

The book is all mathematics devoted to deep learning and more “vocabulary”. Not a single line of code. Yeah, that means if you are one of those who start with a top-down approach, you should probably read this only when you have got a firm grasp of one of the popular deep learning libraries like TensorFlow.

It might seem exciting or provocative to start with this but believe me, unless you have the necessary background, you aren’t ready.

This book is already on my reading list. I haven’t read it yet but you can look for reviews. All in all, the book won’t disappoint you, and might be a good companion to follow along with Andrew Ng’s deep learning course.