Take your Machine Learning knowledge to the next level!
The following is a review of the book Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems by Aurélien Géron, in our opinion one of the best Machine learning books out there.
Review of Hands-On Machine Learning with Scikit-Learn, Keras & Tensorflow
A question a lot of ML practitioners get asked a frequently is: “What can I do to start being able to actually build Machine Learning projects and solutions?”
There is so much information out there — both good and bad — that it can be hard to know where to begin. Also, people come from very different backgrounds, so the starting point can vary significantly. For example, for me, I entered the ML world by watching theoretical videos from Computer Science channels about neural networks, and as I got more and more interested I started reading articles, news, and blogs about the topic.
However, by doing this I only developed a vague understanding of the most superficial part of Machine Learning, and I was nowhere near being able to tackle a project by myself. Knowing this I decided to take some affordable Udemy Machine Learning courses. Courses like these were helpful, as they rounded and improved my knowledge a little bit, and also covered some Python implementations of different algorithms and models.
Still, the courses did not leave me content with what a knew, and I wanted to go deeper, understand every conversation, know the guts of the algorithms, and develop and understanding of how to build an End-to-End Machine Learning project by myself. I wanted to be able to have and idea, build or download a data-set, and execute it.
And this is where the book that we are going to talk about comes in.
I read this book a while ago, but with the publication of it’s new edition I thought it would be a good idea to share my thoughts about it.
This book is “Hands-On Machine Learning with Scikit-Learn & TensorFlow”. It is a book that was originally published in 2017 and that still, in my opinion, with each new revision has become an even better version of one of the best in-depth resources to learn Machine Learning by doing.
Who is this book for?
This book is thought for beginners in Machine Learning, that are looking for a practical approach to learning by building projects and studying the different Machine Learning algorithms within a specific context. After completing the whole book you should be ready to face a project by yourself and be confortable with the different steps in this process.
Despite being a fairly initiative book, it will also add some tools to the tool-kit of a medium-level Machine Learning practitioner.
Also, if you want to get the most out of it, it is advisable to have some basic maths, algebra, and statistics knowledge. Apart from this, you can finish it easily with very little or no initial understanding or Machine Learning if you are willing to make an effort.
Everything is very clearly explained, with code snippets, notes, and examples.
What does it include?
As I mentioned earlier, this is a very practical book that already on Chapter II gets you working and coding a project. Before that, it describes what Machine Learning is, what it is not, its fundamentals, and its main applications and strengths.
It shows how to implement the different Machine Learning algorithms, and covers the theory about them that you to know, without extensively going into it and torturing you with millions of complicated equations. The newest edition is composed of 19 chapters, which are divided into two blocks:
–Part I,where the main concepts of Classification, Regression, Dimensionality Reduction, and Unsupervised Learning techniques are explained, along with traditional Machine Learning algorithms like Linear Regression, Logistic Regression, Support Vector Machines, Decision Trees or ensemble models.
–Part II, which is focused on Artificial Neural Networks and Deep Learning using Tensorflow and Keras. Convolutional Neural Networks and Recurrent Neural Networks are explained, along with Auto-encoders and there is even a chapter on Reinforcement Learning.
Each chapter is further divided into a more granular structure that takes us through it step by step, and the book also contains various Appendixes.
The Chapters are the following:
–Part I: 1. The Machine Learning landscape, 2. End-to-End Machine Learning project, 3. Classification, 4. Training Models, 5. Support Vector Machines, 6. Decision Trees, 7. Ensemble Learning and Random Forest, 8. Dimensionality Reduction, 9. Unsupervised Learning Techniques.
–Part II: 10. Introduction to Artificial Neural Networks with Keras, 11. Training Deep Neural Networks, 12. Custom Models and Training with Tensorflow, 13. Loading and Preprocessing Data with Tensorflow, 14. Deep Computer Vision Using Convolutional Neural Networks, 15. Processing Sequences Using RNNs and CNNs, 16. Natural Language Processing using RNNs and Attention, 17. Representation Learning and Generative Learning Using Autoencoders and GANs, 18. Reinforcement Learning, 19. Training and Deploying Tensorflow Models at Scale.
As I mentioned earlier, in each chapter we find code snippets and side-notes to complement the explanation along with figures, images and graphs, and at the end of each individual chapter there is a set of questions and exercises that are solved in one of the Appendixes.
Also, a very useful addition to all of this is a Checklist for what to do step by step in a common Machine Learning project.
How to read this book?
Every person is different, but for me what worked best was to read the book on paper while writing notes on the side. Simultaneously I would try to go through the code, and every time at the end of the chapter I would take my time to answer the questions and do the mini — exercises. If I got stuck or I didn’t know how to do something I re-read some parts of the chapter or looked for information on-line.
What impact will this book have on me?
If you’ve just started studying Machine Learning, this book will take the theoretical knowledge you have, considerably improve it, and then put it to use in some real projects. Many times we are not able to test how much we know about something until we try to put it in practice. By reading this book you will be completely ready to work in projects of your interest.
If you already know about Machine Learning and have worked on some projects, this book will round up your theoretical knowledge, teach you some practical tricks that you probably ignore, and advise you on how to structure your projects in an optimal manner. It is a wonderful book to have near-by to answer specific questions that might arise in your day to day work.
What to do next?
After you have finished this book I would encourage you to think of a couple of projects you would like to do with Machine Learning and with the book by your side, try to execute them. This will test you on real world problems, make you face some of the difficulties of Machine Learning projects, and also you will be building a portfolio of solved problems that will be of high value in your learning and in your future as a Machine Learning engineer or Data. Scientist
Summary of Hands-on Machine Learning with Scikit-Learn, Keras, & Tensorflow.
This book is just awesome. We love it. It is the book many of us used to get into Machine Learning and because of it we have very fond memories of it. It is very complete, despite on the 2017 missing a chapter dedicated to Unsupervised Learning, which was incorporated into this new version, so now the text is even better!
Hands-On Machine Learning with Scikit-Learn & Tensorflow.
- Géron, Aurélien (Author)
- English (Publication Language)
- 856 Pages - 10/15/2019 (Publication Date) - O'Reilly Media (Publisher)
Thank you very much for reading How to Learn Machine learning and have a great day!