I wrote an ML book. Here are the ones I'd actually recommend, and why I'd tell you to close most of them
I co-authored a machine learning book, so this will sound strange coming from me: most people trying to learn ML should read fewer books, not more. Book-buying is the most comfortable form of procrastination in this field. Here is the short list worth your time, and the point at which you should stop reading and start building.
I have written two machine learning books for Packt, Machine Learning Projects for Mobile Applications and Mobile Artificial Intelligence Projects. So take what follows as coming from someone with an obvious conflict of interest who is going to argue against his own product category: most people trying to learn ML should read fewer books, not more.
Book-buying is the most comfortable procrastination this field offers. It feels like progress. You finish a chapter, you highlight a definition, you feel the warm sense of having learned something, and you have moved exactly nowhere, because ML is not a thing you learn by reading. It is a thing you learn by building and being wrong and fixing it. The book is scaffolding for the building. When the book becomes the activity instead of the scaffolding, it has turned into a very respectable way to avoid the hard part.
So here is the short version. Read a small number of good books, use them as reference while you build, and be suspicious of the urge to buy the next one.
The few worth the time
For getting your hands dirty fast, a practical, code-first book that has you training real models by chapter two is worth more than any amount of theory you cannot yet apply. The Géron “Hands-On Machine Learning” lineage is the standard example, and it earns the position: it is a manual you keep open next to your editor, not a text you read cover to cover.
For the foundations underneath, one statistics and modelling book so you understand what the library is actually doing, why a model overfits, what a train-test split is protecting you from. An Introduction to Statistical Learning is the usual, and correct, answer. Read it slowly, once, and return to it when something confuses you.
That is close to the whole list. Two books, one to build with and one to understand with. Anything past that is usually the fourth cup of coffee: it feels productive and it is keeping you at the desk instead of in the code.
The point where the book stops teaching
There is a moment, usually a few weeks in, where the next chapter stops adding anything and the only way forward is to build something the book did not hand you. Most people do not notice that moment, because the book is comfortable and the blank editor is not. That moment is the entire game. The book got you to competence at following instructions. The project gets you to competence at making decisions, which is the thing anyone hiring you is actually screening for. Cross that line early and deliberately.
On my own book, since I brought it up
Mobile Artificial Intelligence Projects is structured the way it is on purpose: it is seven projects, not seven lectures. You build a thing in each chapter and ship it to a device. I wrote it that way because I do not believe the reading is where the learning is, and I was not going to write a book that pretended otherwise. If you take one thing from a book about ML, including mine, it should be a project you finished, not a definition you memorised.
Read one. Maybe two. Then close it and build ten small things badly. The books are a map. Nobody ever learned the terrain by studying the map harder.