Having recently reviewed the Machine Learning online course Machine Learning A-Z: Hands-On Python & R In Data Science, I decided to shift my focus to a more conventional method of learning i.e. books. In this article I have enlisted the most popular Machine Learning books and classified them using various criteria.
Where to Get Them
Once we have decided to go for a Machine Learning book, there are various sources where we can get them. Depending upon the personal preference, readers can either opt for a physical copy of a book or an e-book which can be read using various electronic devices. A step further from e-books, a lot of books these days are available in the audio format for us to simply listen to. The books can either be borrowed for a certain duration from libraries, acquaintances, etc., or purchased from local stores or online.
Some of the more popular online stores where books can be purchased are:
Amazon: As we all are aware, Amazon offers a huge book collection for us to purchase including hardbacks, paperbacks, new as well as used books. The prices and shipping durations offered are at par with other booksellers. Amazon also promotes Kindle editions for most of the books at lower prices. Recently, the publishing giant O'Reilly Media has announced that they will be using Amazon's e-commerce framework for selling books online, and won't be using their own website for that purpose.
Google Books: Catching up after Amazon is search giant Google offering its own portal for ordering books online. While their shipping mechanism isn't as streamlined as Amazon's, it's worth visiting Google Books portal before placing an order, as better deals are offered at times.
eBay: While the collection of books at eBay is not as large as Amazon, the bidding process for used books may end up getting you a book at an attractive price.
Packt Publishing: They offer a lot of recently released ebooks at a price of 10 USD. Most of their books are available on Amazon as well.
Manning Publications: An interesting feature offered by Manning is "liveBooks", where the online reader offers exciting features such as searching through the books that we don't own.
For this article, I explored plethora of books available at these sources and came up with the list of following ML books which I believe are must read. Depending upon the reader's requirement, specific books can be chosen.
Note: The prices listed with each book are as of the time of this writing and are subject to change.
Best Paid Book
Author: Yuxi (Hayden) Liu
Amazon rating: 5/5
Goodreads rating: 4/5
What makes it the best: As the name suggests, the book takes a practical approach while explaining the Machine Learning concepts to readers. The book also helps the reader with Python concepts, enabling them to implement their knowledge using the rich set of libraries offered by Python frameworks. It covers many ML concepts, such as exploratory data analysis, data preprocessing, feature extraction, data visualization and clustering, classification, regression and model performance evaluation.
Author Yuxi engages readers into various exercises and helps them at every step to implement some of the important ML models.
Overall, the book offers a broader coverage as well as in-depth understanding of Machine Learning as a field. The excellent reader reviews and user ratings proves this fact. And best of all, it's reasonably priced compared to other practical ML books.
Best Free Book
Authors: Shai Shalev-Shwartz and Shai Ben-David
Goodreads rating: 4.1/5
What makes it the best: The beauty of this book is in its unique approach in building the fundamentals and switching seamlessly into the applications of theoretical concepts. It explains in detail how to transform the mathematical equations into effective ML algorithms, such as stochastic gradient descent, neural networks, and structured output learning.
While the physical copy of the book is only available for purchase, Cambridge University Press allows the PDF version to be downloaded for free for personal use.
Best Book for Beginners
Author: Oliver Theobald
Amazon rating: 4.5/5
Goodreads rating: 4/5
What makes it the best: As the target audience for the book is absolute beginners, it considers that the readers have no prior technical knowledge and does its best to explain the terminologies in simple language. The usage of lots of diagrams helps readers better grasp the concepts.
It covers a fair amount of ML concepts with some additional related streams, such as Big Data and Data Analytics. While it covers the essential ML concepts such as regression, SVM algorithms, and Decision Trees, as well advanced concepts such as Deep Learning and neural networks; it also has appendices which focus upon further recommendations and ML careers for interested folks.
Best Book for Advanced Readers
Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems
Author: Aurélien Géron
Amazon rating: 4.4/5
Goodreads ratings: 4.5/5
What makes it the best: Targeted towards advanced readers, the book has minimal theory and focuses mainly on the coding aspects of ML models using the solid Python frameworks viz, Scikit-Learn, and TensorFlow. Scikit-Learn, is an easily available and proven framework which enables users to implement ML algorithms efficiently.
Author Aurélien, being a former Googler and ML expert, has a good grip on both the frameworks and it shows in the book. Especially while covering TensorFlow, a complex library mainly used to achieve mathematical computations on a huge scale, his attention to detail proves that he is a Guru on the topic. This is a must-have book for advanced professionals trying to solve complex ML problems and achieve scalable goals in the field!
Other Paid Books
Python Machine Learning: Machine Learning and Deep Learning with Python, Scikit-Learn, and TensorFlow
Author: Sebastian Raschka and Vahid Mirjalili
Amazon rating: 4.3/5
The book begins with the fundamentals of ML and then switches to the implementation of the same using Python. What I like about this book is that the authors, Sebastian Raschka and Vahid Mirjalili, have made the book comprehensive, covering the breadths of ML, Deep Learning, TensorFlow. Since the medium of implementation is Python, readers will get acquainted with Python as well. To cover these many topics in a single book is quite a feat and I would certainly say that the authors have done their best to do so.
Another important aspect of the book is the best practices being followed in the industry to accomplish a task. So, not only do the readers learn the concepts, but they'll also be prepared to apply ML concepts and practices to their own respective fields.
Author: Kevin P. Murphy
Amazon rating: 4/5
Goodreads rating: 4.4/5
As the name suggests, the book offers a probabilistic approach towards Machine Learning. It covers topics such as probability, optimization, linear algebra, and focuses on recent developments in the field, including viz. conditional random fields, L1 regularization, and deep learning. The language used in this book is straight-forward and it includes pseudo code for implementation of the ML algorithms. Most of the models are implemented in Probabilistic Modelling Toolkit, a MATLAB software package that is freely available.
As a prerequisite, readers are expected to have prior knowledge of college-level mathematical concepts to better understand the contents.
Author: Tom M. Mitchell
Amazon rating: 4/5
Goodreads rating: 4/5
Author Tom Mitchell covers the basics of ML in a detailed fashion in this book, coupled with summaries of ML algorithms. A feature of this book which stands out is the case studies, which sheds light on the concepts being talked about in the book. The book is great for introductory and higher-level graduate students with the academics including ML topics.
Other Free Books
Author: Stephen Marsland
Goodreads rating: 3.6/5
Targeted towards college students willing to learn ML, this book includes a lot of NumPy implementations for ML models, which are available on the book's website. The sample datasets are also provided for readers to play with. The book and associated code is freely available for download with proper attribution.
Author: Michael Nielsen
Goodreads rating: 4.5/5
Aimed towards the advanced ML professionals, this book covers the next steps after Machine Learning, namely Neural networks and Deep Learning. Neural networks are basically programming paradigms which enable machines to make decisions based upon data observations. Deep learning covers the techniques for designing neural networks.
The author explains the concepts in detail with their applications, such as image recognition, voice recognition, and natural language processing. The book is maintained on a web portal as its continually being updated.
Author: Kareem Alkaseer
Following a rather unconventional approach, Kareem maintains this book online by himself, enabling him to keep it updated. He tries to balance between theory and implementation for readers to implement machine learning models by themselves without relying too much on libraries. Its an interesting and honest thought, which helps readers avoid the complex libraries and have a look under the hood to understand concepts better.
Another fact which stands out about the book is his usage of different programming languages to solve a problem at hand. While most of the ML books focus on Python, this book has implementations in C++, Java, and Scala as well. Very few people are aware of the C and C++ libraries such as dlib and Thrill for machine learning, neural networks, and deep learning, which you'll get exposure to in this book.
Author: David Barber
Goodreads rating: 4/5
A classic by author David Barber, this book covers a bit of background before the rise of Machine Learning. It takes a Bayesian statistics approach to machine learning, which is one of the older and better-known concepts in the field.
Other books for Beginners
Authors: Andreas C. Müller, Sarah Guido
Amazon rating: 4.1/5
Goodreads rating: 4.3/5
Due to its rich set of libraries, Python is a great choice for implementation of ML models. Keeping this in mind, the book helps readers grasp ML concepts using Python itself. The Scikit-Learn library makes it easy to design efficient models quickly, taking a practical approach for Machine Learning. The readers already familiar with NumPy and matplotlib libraries will get much more out of the book.
Also, the book begins by introducing required mathematical concepts such as probability, optimization, and linear algebra which paves the way for ML concepts to come.
Author: Ethem Alpaydın
Amazon rating: 3.3/5
Goodreads rating: 3.7/5
While the ratings don't look as good as other beginner level books, I found they don't do justice to the contents. The book is comprehensive, covering an array of topics not covered in other introductory books. It covers a vast variety of concepts such as statistics, pattern recognition, neural networks, artificial intelligence, signal processing and data mining, to present a unified treatment of machine learning problems. A rather interesting approach to introduce readers to the ML world!
Other Books for Advanced Readers
Author: Christopher M. Bishop
Amazon rating: 4.1/5
Goodreads rating: 4.2/5
Arguably the most popular choice for advanced professionals, the book talks about application of ML for pattern recognition. While it doesn't expect a prior ML knowledge, it's assumed that readers are aware of multivariate calculus and basic linear algebra. Also, familiarity with probability theory would prove useful but not essential as it's covered in the introductory sections of the book.
Author: Andrew Ng
Goodreads rating: 4.5/5
Written by the ML guru Andrew Ng, the book is designed for professionals to learn advanced ML concepts quickly. Thoroughly technical, this book helps professionals understand the concepts and make better decisions while building ML projects.
While there are plenty of Machine Learning books out there, I have tried to categorize and summarize the top few books depending upon their availability and target audience. Hope the article helps learners choose the right book for their needs.
If books are your thing, make sure to take a look at these:
- Cracking the Coding Interview
- The Best Java Books for All Skill Levels
- The Best Python Books for All Skill Levels
- The Best Machine Learning Books for All Skill Levels
If you're preparing for a big interview, I'd also suggest that you read up on some tips that will help you improve your chances of landing the job: