## Introduction

So you love reading but can’t afford to splurge too much money on books? Quite a lot of the data science and machine learning books out there fall in the expensive category. It’s only fair, given how much thought and effort goes into writing and publishing them.

But there are a few kind souls who have made their work available to everyone..for free! If you want to become a data scientist or AI Engineer – you couldn’t have asked for more.

Here is a collection of 10 such free ebooks on machine learning. We begin the list by going from the basics of statistics, then machine learning foundations and finally advanced machine learning.

**To access the books, click on the name of each title in the list below.**

# Statistics

## Think Stats – Probability and Statistics for Programmers

**Author:** Allan B. Downey

‘Think Stats’ is an introductory book to statistics and probability for people with a basic background in Python programming. It’s based on a Python library for probability distributions (PMFs and CDFs). To make things easier for the reader, most of the exercises have short programs. The book also includes a case study using data from the National Institutes of Health.

One of the stand-out features of this book is it covers the basics of Bayesian statistics as well, a very important branch for any aspiring data scientist.

## Bayesian Reasoning and Machine Learning

**Author:** David Barber

Speaking of Bayesian statistics, this one is a classic. This takes a Bayesian statistics approach to machine learning. A book worth checking out for anyone getting into the machine learning field.

# Basic Machine Learning and Statistics

## An Introduction to Statistical Learning

**Authors:** Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani

One of the most popular entries in this list, it’s an introduction to data science through machine learning. This book gives clear guidance on how to implement statistical and machine learning methods for newcomers to this field. It’s filled with practical real-world examples of where and how algorithms work.

For those with an inclination towards R programming, this book even has practical examples in R. In case you’re not a programmer, don’t let that put you off. This book is a gem.

## Understanding Machine Learning

**Authors:** Shai Shalev-Shwartz and Shai Ben-David

This book gives a structured introduction to machine learning. It looks at the fundamental theories of machine learning and the mathematical derivations that transform these concepts into practical algorithms. Following that, it covers a list of ML algorithms, including (but not limited to), stochastic gradient descent, neural networks, and structured output learning.

## A Programmer’s Guide to Data Mining

**Author:** Ron Zacharski

What I like about this book are the chapters covering recommendation systems. It takes a fun and visually entertaining look at social filtering and item-based filtering methods and how to use machine learning to implement them. Other concepts like Naive Bayes and Clustering are also covered. There is a chapter on Unstructured text and how to deal with it, in case you are thinking about getting into Natural Language Processing.

Examples in Python are also available in case you want to practice.

### BONUS: The Hundred-Page Machine Learning Book

**Author:** Andriy Burkov

I love this book. Having read a ton of books trying to teach machine learning from various angles and perspectives, I struggled to find one that could succinctly summarize difficult topics and equations. Until Andriy Burkov managed to do it in some 100-odd pages.

It is beautifully written, is easy to understand and has been endorsed by thought leaders like Peter Norvig. Need I say more? Beginner or established, every data scientist should get their hands on this book.

## Mining of Massive Datasets

**Authors:** Anand Rajaraman and Jeffrey David Ullman

As the era of Big Data rages on, mining data to gain actionable insights is a highly sought after skill. This book focuses on algorithms that have been previously used to solve key problems in data mining and which can be used on even the most gigantic of datasets.

# Advanced Machine Learning

## A Brief Introduction to Neural Networks

**Author:** David Kriesel

If you’re interested in neural networks, this book is for you. It starts off by covering the history of neural networks before deep diving into the mathematics and explanation behind different types of NNs. The author expects the reader to have a background of basic linear algebra and calculus.

## Deep Learning

**Authors:** Ian Goodfellow, Yoshua Bengio and Aaron Courville

This is probably one of the most comprehensive book written by distinguished people in deep learning field. Concepts like Monte Carlo Methods, Recurrent and Recursive Nets, Autoencoders and Deep Generative Models (among others) are covered in detail.

## Natural Language Processing with Python

**Authors:** Steven Bird, Ewan Klein, and Edward Loper

Folks interested in getting into Natural Language processing should read this book. It’s written in a lucid and clear manner with extremely well-presented codes in Python. Readers are given access to well-annotated datasets to analyse and deal with unstructured data, linguistic structure in text, among other NLP things.

## Machine Learning Yearning

**Author:** Andrew Ng

No machine learning list is complete without mentioning Andrew Ng. According to him, this book will help the reader get up to speed with building AI systems. It will effectively teach you how to make the various decisions required with organizing a machine learning project.

The book is still being updated regularly and you can sign up on the site to receive updates as each chapter is posted.

We hope you found this list helpful. In case you know of other free books that you’ve read, or are planning to read, let us know in the comments below.

You can also read this article on Analytics Vidhya's Android APP

Hi Pranav. Good and helpful article with links. The link for Natural Language Processing with Python is not working (throws up an error). This book can also be downloaded from https://www.researchgate.net/publication/220691633_Natural_Language_Processing_with_Python

Thanks once again

Hi Ankana,

Glad you found the article helpful! Thanks for pointing it out, I have updated the link.

[…] One of the stand-out features of this book is it covers the basics of Bayesian statistics as well, a very important branch for any aspiring data scientist. Speaking of Bayesian statistics, this one is a classic. Read more from analyticsvidhya.com… […]

Excellent collection and many thanks

Thanks alot for the material. Its really a good collection.

Thank you very much for great help

Anyone has the web link to download Andrew Ng’s textbook?

Hi,

You can click on the name of the book in the above article to go to the download page.

Thanks a lot!!

Great selection of books. The An Introduction to Statistical Learning is required reading in my MSPA class at Northwestern. I recommend you read and do every example at the end of the chapter. Also, use the accompanying website.

Good Luck.

Such a useful list of books.Appreciate the research and thought which has gone in this article.Thanks.

Link for book on Natural Language Processing with Python does not work

Hi,

The link is working fine from my end. Here is the direct link for this book: https://www.researchgate.net/publication/220691633_Natural_Language_Processing_with_Python

Thanks for the guidance through valuable books.

Great material sources! Thank you for compiling all of this.

Nice compiled list…

[…] Introduction […]

Hi!

what’s interesting blog! Thanks for sharing.

I’m introducing in data science profile.

Thanks for this list! Adding these to my reading rotation! Love this site, by the way – so much helpful information!

Can anyone help me from which book to start. I am new to Data Science. I want to make a career in it. Please give me the order for these books.

Thanks in Advance…..

Hi Sheetal,

The books mentioned in the article are for beginners. You can start with anyone of them. Personally I would suggest ‘An Introduction to Statistical Learning’.