Hands-On Machine Learning with Scikit-Learn & Tensorflow- Review

I bought Hands-On Machine Learning with Scikit-Learn & Tensorflow: Concepts, Tools, and Techniques to Build Intelligent Systems last year, and it really helped me a lot in doing my final year engineering project.

This book is written by Aurelien Geron and published by the famous O’Reilly media. Today, I’m reviewing this book to give you a sneak peek into this great resource.

Last year, when I was in the final semester of my computer science engineering course, I wanted to do a final year project to complete the degree course. I made a health and fitness web application as a mini-project, but the faculty told us to do a big project for the final year that would include the latest technologies.

Hence I did some research on all the trending fields in technology such as blockchain, machine learning, cloud computing, etc. Finally, I chose machine learning and decided to create an image classification model.

best book for machine learning

All I knew was Python at that time. I haven’t had the experience of working with tensorflow or scikit-learn or keras. I looked around the Internet for great resources. Some of them were really helpful. That’s when I came to know about the book Hands-On Machine Learning with Scikit-Learn & Tensorflow from a YouTube channel. I bought that book to learn the fundamental concepts in machine learning, along with tensorflow and scikit-learn.

This book didn’t disappoint me. It is such a great resource to start learning machine learning. All the basic concepts are documented in this book in an easy-to-read manner. I learned a lot from it and finished my project successfully.

Now, let me take you through a rapid overview of this book. I’ll show you what’s inside this book, and you can determine whether it will help you or not.

This book is primarily divided into two parts. The first part consists of the fundamentals of machine learning. The second part is all about deep learning and neural networks. There are a bunch of chapters inside each part and a lot of valuable information as well.

Part 1 – The Fundamentals of Machine Learning

The first part of this book is all about the machine learning basics. Here, you’ll learn what machine learning is and why to use it. The book introduces you to different types of machine learning, such as supervised learning, unsupervised learning, and reinforcement learning. It also walks you through the different challenges of machine learning, training, testing, and validation processes.

The best thing about this book is that once you learn the basics in the first chapter, you’ll get a chance to do an end-to-end machine learning project in the second chapter. The second chapter is all about doing this project. You can read the book and implement the project right away.

The next chapter is about classification. It introduces you to the famous MNIST dataset to classify handwritten digits. You’ll learn almost everything you need to do classification. This chapter was really helpful for me to build an image classifier.

The next chapter talks about training machine learning models and the different algorithms used in doing that, such as Linear Regression, Gradient Descent, Logistic Regression, etc. The fifth and sixth chapters walk you through the fundamentals of support vector machine(SVM) and decision trees.

The next chapter talks about ensemble learning concepts such as bagging, boosting, random forests, etc. This chapter helped me to learn about the Adaboost algorithm, which I wanted to use in my project.

The final chapter in the first part is about dimensionality reduction and several concepts in it. There are some exercises as well at the end of each chapter that you can do.

One great thing about this book is that all the machine learning concepts are summarized in a simple and digestible manner. There are several diagrams as well, which helps to understand the concepts easily.

Part 2 – Neural Networks and Deep Learning

The second part starts with installing tensorflow on your system and doing a lot of fun stuff with it. This chapter introduces how tensorflow implements various machine learning concepts.

The following chapter introduces the concept of artificial neural networks. It contains information on the difference between biological neurons and artificial neurons, the perceptron, backpropagation, and training a neural net using tensorflow.

The next chapter talks in-depth about training deep neural networks. Different types of problems, layers, optimizations, and overfitting are the main topics of discussion.

The following chapter takes a much more practical approach in implementing deep learning by distributing tensorflow across devices and servers. It does in-depth about the various steps in implementing starting from installation, managing the GPU RAM, and several other practical things.

There are dedicated chapters on convolutional neural networks, recurrent neural networks, and autoencoders. The final chapter is all about reinforcement learning and the different processes in it.

There is some bonus material at the end, including a machine learning project checklist. You can use this checklist as a reference before doing any machine learning project.


This book is a really good resource for all machine learning enthusiasts. Even if you’re a beginner in machine learning, this book will help you understand several complex topics in a simple way.

I would recommend you to go through this book if you want to learn machine learning and do some cool projects using scikit-learn and tensorflow. Click here to buy this book on Amazon, if you’re interested.

There are several machine learning books available in the market, but this book really stands apart from the rest due to its simple and practical representation of machine learning concepts.

If you want to learn Keras also, you can get the book Hands-On Machine Learning with ScikitLearnKeras, and TensorFlowwhich is yet another great book published by O’Reilly.

I hope this article was helpful to you. If you have already read this book, feel free to leave your thoughts about this book in the comments section.

I would appreciate it if you would be willing to share this article. It will encourage me to create more useful articles like this.

Ashwin Joy

I'm the face behind Pythonista Planet. I learned my first programming language back in 2015. Ever since then, I've been learning programming and immersing myself in technology. On this site, I share everything that I've learned about computer programming.

Leave a Reply

Your email address will not be published. Required fields are marked *

Recent Posts