Having read significant chunks of both ESL and Understanding Machine Learning (albeit UML much more recently) I would argue that for many readers UML is superior.<p>ESL pays short shrift to the computational complexity of learning whereas UML explicitly handles both statistical and computational complexity concerns. It doesnt matter how statistically pure your algorithm is if its running time scales exponentially with your data.<p>All of UML&#x27;s chapters are conceptually unified even when discussing different ML algorithms, with ESL being more of a grab-bag by chapter.<p>Still, both high quality and free!