There are a lot of good books on machine learning, but most people buy the wrong ones.

A question I get asked the most is what books should people buy to get stared in machine learning. My answer to beginners is: “*don’t buy textbooks*“.

In this post I want to point out a few key books that are aimed at beginners that you should buy (and read!) if you are just starting out.

I am not reviewing these books, if you want reviews, click a link and read the Amazon reviews. I will list a few reasons why I think each is a good book to pick up and read for a beginner.

## Data Mining: Practical Machine Learning Tools and Techniques

I started with this book and it made a big impression on me back in the day.

- Introduction to applied machine learning (forget the mention of data mining in the title).
- Focus on the algorithms and on the process of applied machine learning.
- 100 pages dedicated to the companion platform for applied machine learning called Weka.

If you want to focus on the process and use a mature graphical tool, I highly recommend this book.

## Machine Learning an Algorithmic Perspective

As the title suggests, this book focuses on machine learning algorithms.

- Focus on machine learning algorithms
- A little math with lots of examples in Python
- Sharp focused chapters with references and further exercises

If you’re a programmer and into Python, I highly recommend picking up this book and getting stuck into each example.

## Machine Learning in Action

Another very hands on text with a strong focus on the algorithms.

- Focus on machine learning algorithms
- Worked examples in Python (NumPy)
- Lots of exposition rather than math

There’s a lot of example code, large slabs of it in some places, so I’d suggest that you are competent in Python before giving it a look.

## Programming Collective Intelligence

This is a very popular book targeted at beginners.

- Worked examples in Python
- Larger examples related to the web (rather than toy datasets)
- Lots of exposition as well as exercises at the end of chapters

Out of the three python-centric books, I’d recommend this one. It is broader and more cohesive than the other two.

## Machine Learning for Hackers

Machine learning is more than just algorithms, there’s a lot of process and analysis work.

- More time spent on process and analysis
- Worked problems and examples in R
- Includes an introduction to R

The data analysis example in the second chapter was amazing. It’s a rare example of how to think about and process a dataset BEFORE you throw algorithms at it. The book is worth it for this example alone.

## Applied Predictive Modeling

Another R book, this one assumes prior knowledge of R, and if you have it, this book is amazing.

- Treatment on process, but focus on algorithms and their usage
- Worked examples in R
- Light on math

This is a big book, but I highly recommend it if you’re ready for it. I’d recommend Machine Learning for Hackers first to get you warmed up.

## General Tips

Get the most out of each book you read. If you invested the money to buy it, then invest the time to read it slowly and truly learn something.

- Pick one book and read it, cover-to-cover.
- Read with intent, don’t scan.
- Take notes.
- Try the exercises, even if you just run the solutions.

I also want to point out these free legal books:

The Elements of Statistical Learning Data Mining, Inference, and Prediction:

Hastie, Tibshirani, Friedman

http://web.stanford.edu/~hastie/local.ftp/Springer/OLD/ESLII_print4.pdf

An Introduction to Statistical Learning with Applications in R 4ed

http://www-bcf.usc.edu/~gareth/ISL/

and

http://www.alsharif.info/#!iom530/c21o7

http://www-bcf.usc.edu/~gareth/ISL/ISLR%20Fourth%20Printing.pdf

I can’t make a precise feedback about the quality since I am a novice myself, but they seem quite solid.

Thank you folks for @Lawrence for good resources. 🙂

thanks for this information..

I’m glad it helped!

Thank you very much Jason,

Really helpful, actually I picked the Machine Learning for Hackers book, I read and applied everything from cover-to-cover, then I sat back and I wanted to apply what I have learnt to a real problem; but since I found difficulty I tried to google again for some additional courses/books for beginners, but I see many disappointing suggestions – for me – about the prerequisites to learn ML. Specifically some people suggest to read some books about Multivariate Calculus, linear Algebra, Statistics, Probability … I believe they are essential but my question here:

1. what are the prerequisites you recommend, and to what level the person has to be up to in each one!! I can keep learning Statistics for ever!!

2. Why there is no a single Handbook which gives the basics from the scratch up to some level that you can break through in ML.

I do not know if I explained myself well!

Thanks again

Awad

I take a very different approach. A top-down and results-first approach where I do not recommend starting with theory, but instead with “getting a result”.

Learn more here:

http://machinelearningmastery.com/start-here/#getstarted

And specifically here:

http://machinelearningmastery.com/machine-learning-for-programmers/

i would also recommend the book : Aurelion Geron – Hands On macine learning with Scikit-learn and Tensorflow.

a Gem of a book for people who are beginners and want to stick to applied (practical) machine learning rather than get into the hardcore math .

the book covers tensorflow instead of keras for DNNs which has a learning curve with a higher gradient 😉

though the way the theory is explained and , related with practical and apply-able coding strategies makes the book more than worth for any price.

also while some books are written with a practical perspective , they do have some downfalls like : using python 2, or using non-mainstream/defunct/tough libraries or even not using libraries and directly implementing even the most advanced concepts in numpy.

in such places the book shines by focusing on what matters the most just like this blog.

keras is what I recomend for beginners and hackers , while tensorflow for intermediate and advanced practioners who wish to implement algorithms freshly designed by researchers or make a cross-machine sclable solution.

Jason let me know your views on my views on tensorflow and keras and my approach to them.

PS: there are some spelling errors

Thanks for the suggestions.