Data Science has been dubbed "the sexiest job of the 21st century" and has a tremendous demand in the tech industry. Applying machine learning to applications allows program behavioural self-improvement and highly accurate predictions based on a dataset. Jobs in data science provide an incredible annual income that ranges from $90,000 to $140,000 depending on where you work and what job you do.

If you read the following books, you will be prepared to start creating non-trivial machine learning and deep learning projects for your own entertainment or for freelancing. Remember to keep completing projects to give yourself a good portfolio. Data science jobs have a high level of entry, so do your best.

*NOTE: I recommend having a computer with a discrete graphics card or using GPU cloud services for training machine learning models found in these books. I did not have a good time waiting 3 hours for some of the examples to train on my Early-2015 MacBook with integrated graphics. Just a word of warning.

Artificial Intelligence: A Modern Approach

Artificial Intelligence: A Modern Approach by Stuart Russell and Peter Norvig is one of the best books on the subject of broader AI and is used in many prestigious universities. I've cited this book as an incredible resource in many of my previous articles and I swear by it. If you want to know what AI has to offer and what is possible with it, please pick this book up and give it a careful read. This book is a little math-heavy but you shouldn't see that as a con. In fact, explaining concepts mathematically is much faster and more concise. FEAR NOT!

The subjects you'll learn by reading this book include: agents, knowledge representation, machine learning, communication, perceiving and the philosophy behind artificial intelligence. This was the first book I ever read when trying to learn about AI and it has served me better than any other book which attempts to cover the same subject matter—I'm referring to general AI, not machine learning nor deep learning.

An Introduction to Statistical Learning

An Introduction to Statistical Learning is a fantastic resource for those looking to get started with machine learning professionally. The book teaches all the basic concepts necessary for machine learning in great depth and in addition, teaches the R programming language for data wrangling. This book assumes a strong mathematical background and optimally also in algorithms.

The topics covered in this book include: a statistics review, linear regression, classification, model selection, supervised and unsupervised learning and much more. This book and its big brother, The Elements of Statistical Learning, are quintessential books for developing a concrete understanding of machine learning and statistical computing. I've talked to a lot of people very invested in Kaggle competitions and all of them cite this book and the next as very important in their careers.

The Elements of Statistical Learning

The Elements of Statistical Learning is the next logical step after reading An Introduction to Statistical Learning. Elements picks up where the Introduction left off, giving an overview of what you've previously learned, then going much more in-depth and teaching more advanced concepts. There is also an excellent chapter on deep learning. After reading this book, you'll be a machine learning powerhouse.

This book is very demanding of the reader and doesn't hold your hand. You as the reader are required to figure out a lot for yourself. If you need your hand held, then I recommend the next book on the list.

Machine Learning with R

Machine Learning with R by Brett Lantz, in my eyes, is like the lite version of An Introduction to Statistical Learning and The Elements of Statistical Learning. You are taught the basics of machine learning using the R programming language with some very nice examples. If you are not already familiar, R is a programming language specially designed for statistical computing and is much more lightweight than Python. Personally, I really enjoyed doing machine learning in R and I hope you will as well.

I don't normally like books by Packt Publishing due to the repetitive and surface-level material of their books, but I really enjoyed this one.

Hands-On Machine Learning with Scikit-Learn & Tensorflow

Hands-On Machine Learning with Scikit-Learn & Tensorflow by Aurélien Géron provides the reader with an introduction to machine learning concepts with practical applications with the popular Python libraries. Working through this book will be painless to you if you already know Python and college-level mathematics. This book is more for beginners and is not as complicated as some of the other books I've already referenced.

I found this book to be extremely fun and informative. This book, though still containing many mathematical formulas, focusses more on the implementation in Python. This book doesn't just cover machine learning but also deep learning and reinforcment learning. If you need a book to get you started fast without too much jargon, then this is the book for you!

Deep Learning

Deep Learning by Goodfellow, Bengio, and Courville is one of the most comprehensive resources on Deep Learning. This book assumes an extensive background of mathematics in the reader and is a very technical book. If you truly want to master deep learning from one of the most influential figures in modern Deep Learning, Ian Goodfellow, you absolutely need to read this book.

Python Data Science Handbook

Python Data Science Handbook by Jake Vanderplas attempts to introduce the reader to all the popular libraries and tools for doing data science in Python. Tools such as: iPython, NumPy, Pandas, Matplotlib, and Scikit-Learn are all covered with helpful demonstrations. If you're absolutely new to data science but already know a little about Python, this book will be invaluable to you.

This book focusses more on being a tutorial and reference manual for the libraries that are popular in the data science community. The exercises are simple and easy to follow along. If you were to start reading the books on this list, start here! It is by far the easiest on this list.

Deep Learning with Python

Deep Learning with Python by François Chollet presents a very simple (though stripped down) approach to teaching Deep Learning with Python. If math is something that scares you, this book will be great for you because of the lack of complicated mathematical formulas present in more comprehensive material. If you want to get your feet wet in deep learning or just try it out without having much mathematical prowess, this book will suit your needs perfectly.

The concepts are explained clearly and much of the implementation of deep learning algorithms is abstracted away by the use of the Keras library for Python. Keras does a fine job at making deep learning much more easy to implement for practical applications. There are many cool examples that you can copy and observe as they solve problems presented.


I hope this article was helpful for your future career opportunities in Data Science. You may be a little disheartened by the apparent difficulty to get started. There's a reason why these jobs pay so well, because they expect to hire very skilled individuals. Persevere and one day you will be a certified machine learning engineer and data scientist.

You can get involved in competitive machine learning on platforms such as Kaggle. Using Kaggle will give you a huge amount of experience solving real world problems while also possibly making handsome sums of money and having a lot of fun. I wish you safe travels and happy hacking!