This is a post from my old, now defunct blog. I brought it back up here since it was my single most visited article. It may be out of date with regards to my current knowledge or writing style. The advice remains useful, I think.
There is a Japanese word, tsundoku (積ん読), which means buying and keeping a growing collection of books, even though you don’t really read them all.
I think we Developers and Data Scientists are particularly prone to falling into this trap. Personally, I even hoard bookmarks: my phone’s Chrome browser has so many open tabs, the counter was replaced with a “:D” emoji.
In that zeal for reading and learning most of us experience, we usually end up lost , not sure of which book to pick up next. That’s why today I’ll give you a short list: just 3 Machine Learning books, so that you won’t just bookmark it and forget it.
Each of these books has helped me immensely in different stages of my career as a Data Scientist, particularly in my role as a Machine Learning Engineer.
I’ll review this book first, since it’s the most introductory or broad one in this list.
I have a personal attachment to this book, since it’s the one that got me my job. That’s right. I knew next to nothing about Data Science, even what Data Science was, before picking up this book.
I did have a pretty strong Probability and Statistics background, and knew enough Python to defend myself. However, I was missing the practical side of it.
This book did many things for me. It:
I wholeheartedly recommend it if you’re new to the Data Science community. It will give you a clear overview of most topics you’ll need in order to start being a productive Data Scientist.
It will also showcase Python’s most commonly used libraries and expose you to a lot of idiomatic code , which is always a plus.
Here’s a link to Data Science from Scratch on Amazon.
This book is the most comprehensive Machine Learning book I’ve found so far. I learned a lot from it, from Unsupervised Learning algorithms like K-Means Clustering, to Supervised Learning ones like XGBoost.
The first chapters may feel a bit too introductory if you’re already working in this field (at least that was my experience). However, they also sum up many things you may not have learned in such an organized way before.
The later chapters are, however, where I think this book really shines. Its explanation of random forests, boosted trees and support vector machines are spot on.
Here are some of the topics you can learn from Introduction to Statistical Learning:
I think this book has been my best read so far this year, and it’s made me into a more round up Data Scientist. I recommend it if you have a bit more experience, but want to polish your edges. It is also an excellent reference book to keep on your shelf.
It also shows everything’s implementation in R, which I didn’t find particularly useful, but it didn’t hurt. You’ll probably import most of this code from SciKit learn anyway.
As before, here’s a link to Springer’s Introduction to Statistical Learning on Amazon.
This book blows my mind every time I open it. I’ll be the first to admit I haven’t really read it from start to finish. Yet. The only reason it’s the last one in the list is because of its narrow scope : Artificial Neural Networks or Deep Learning.
However its first chapters, with an overview of Deep Learning’s precursors and what makes it different, and then the explanation of how Deep Learning works , are marvelous.
It even starts off by explaining everything you need to know before studying deep learning , with whole chapters dedicated to linear algebra , probability and information theory , and numerical computation methods.
The next chapters, which I’ve only partially read, serve as an awesome reference whenever you need to dive deeper into a particular Neural Network architecture.
They include in-depth explanations of Convolutional Neural Networks and Recurrent Neural Networks, along with many regularization or optimization methods.
The third and last section, which revolves around cutting-edge technology , explains Generative models , Autoencoders and many other interesting algorithms. Adding them to your own toolkit will probably give you a great boost.
The authors of this book are the rock stars of Machine Learning right now. One of them even won a Turing award recently, so I can’t think of better people to teach this subject.
Here’s an Amazon link if you’re interested in the Deep Learning book.
I went from a broad, introductory book to an advanced, specific one.
Each of these Machine Learning books has had a profound impact in my career and, to some degree, the way I see the world.
I really hope at least some of them will have the same positive impact on your life.
We can also discuss them on Twitter, Medium of dev.to if you’re interested. I want to hear your opinions.
(small disclaimer: all of these links are Amazon affiliate links, which means I get a small commission if you buy the books. However, I’ll only review books I’ve actually read, and have genuinely recommended to people in real life)