I really recommend Murphy’s “Machine Learning: a probabilistic perspective”. Murphy’s lays the groundwork for understanding how the algorithms work, why and how they could be adapted to the problem you’re dealing with. It takes you from complete beginner (with a reasonable math level) to one step above `import sklearn as sk`.
The other books I read make the field look like a bunch of heuristics that just happen to work.