10 Books and Courses for Getting Into Data Science
By: Romik Kelesh
Tags: How To, Deep Learning, Artificial Intelligence, Machine Learning, Data Science

1. Python — Programming

Books

Automate the Boring Stuff with Python, by Al Sweigart

To have a solid and strong foundation in Python, I recommend this book:

Automate the Boring Stuff with Python, by Al Sweigart.

It not only teaches you the basic and essential content in Python, such as the difference between functional and object-oriented programming, but also other topics that are very interesting and necessary.

- Dealing with regular expressions

- Debugging

- Web scraping

- Work with Excel and Google Sheets, PDF, Word documents, CSV files and JSON data

- Keeping Time, Scheduling Tasks, and Launching Programs

- Send emails and much more.

The reason why I like Al Sweigart’s book is that you can start your own small projects right after, which are also very useful.

Analyzing PDF or Work documents for certain keywords, as well as your own emails.

Extract relevant data from different websites to perform various calculations and make automated decisions.

Thanks to this book, I have been able to perform several small, important tasks for my previous employers.

Courses

Udemy Course for his book

Al Sweigart has published a Udemy Course for his book, which he tries to summarize in about 10 hours. Look at the ratings and you will see that the course is very popular.

He also has a YouTube — Channel where he presents some of the content from the book.

2. Mathematics and Statistics

Books

Unfortunately I cannot give you a book recommendation on this topic.

In my case, I studied computer science and economics and so I got my mathematical background.

Nevertheless, I would not like to leave this point just like that.

When it comes to mathematics in Machine Learning, often calculus, linear algebra and statistics, stochastics is recommended.

In my opinion, some topics are still missing, like numerics, graph theory, discrete mathematics and linear optimization.

Of course, you are good with the first four topics, but the last topics will give you the last reed.

Courses

Khan Academy

Khan Academy is still unbeatable when it comes to teaching mathematics.

However, I would like to mention a few others here that might explain various topics a little better and more clearly.

3Blue1Brown

For linear algebra, I recommend the Youtube — Channel of 3Blue1Brown.

You learn through his videos, not only the calculations, but also how to visualize all this.

After his videos you will understand pretty well why eigenvalues and eigenvectors are used for the principal component analysis.

Krista King

Krista King explains some topics in mathematics quite well too.

She offers several courses, which bring you closer to the contents relatively fast and understandable. I would highly recommend her statistics and probability course.

John Starmer

On some topics in stochastics like p-values and distributions.

John Starmer explains these very well and graphically, in his Youtube-Channel.

Mike Cohen

Finally, I recommend the courses from Mike Cohen.

His linear algebra is comparable to the quality of 3Blue1Brown, in my opinion. The only problem is that he uses the MATLAB language,instead of Python, but we are only concerned here with mathematical understanding, not with programming.

He also offers courses in signal processing, fourier transform and some more.

3. NumPy and Pandas

Books

Python for Data Analysis, by Wes MckKinney

Wes MckKinney is the creator of Pandas and published a book about it.

Python for Data Analysis.

The book is really recommendable, because Wes MckKiney goes into this book very precisely and in detail about the characteristics of pandas.

When the creator of the library releases a book about it, it is no longer necessary to say more about why it is good.

Courses

NumPy and Pandas are completed in online courses, always quite fast and on the side.

I think you should pay more attention to these libraries.

Do you know, for example, why is a NumPy array faster than a normal list?

Keith Galli

Keith Galli is a graduate of MIT and has two videos on his YouTube-Channel, where he explains the characteristics of NumPy and Pandas clearly and precisely.

4. Data Visualization

Courses

Jose Portilla

Jose Portilla has in his course, Python for Data Science and Machine Learning Bootcamp, some videos, where he also goes into matplotlib and seaborn.

In his course, he gives a lot of examples on these topics and also some tasks you can do by yourself.

Additionally he shows in some places, where visualization can deceive and which visualization techniques should be used for various problems.

Visualization should not be underestimated in any case. It is an extremely powerful and meaningful tool of a data scientist.

Visualizing comparisons, trends or anomalies not only provides clarity, but also helps people who don’t know anything about data science to understand the problem or issue.

5. Machine Learning and Deep Learning

Books

Actually I would suggest the book Introduction to Statistical Learning, but for many beginners it is too mathematical and a bit daunting.

Data Science from Scratch by Joel Grus

Therefore, for machine learning, I would recommend the book Data Science from Scratch by Joel Grus instead.

Joel Grus is a former software developer of Google and has created a really small masterpiece with this book.

When most people start with machine learning, they get to know the scikit-learn library right from the start and learn the algorithms a bit superficially in my opinion.

Joel Grus starts his book with some other topics in the first chapters, like the programming language Python, statistics, stochastics, linear algebra and data visualization. After that he goes into the topic of machine learning.

Why I recommend this book so much? Every topic that appears in his book, he not only explains the theme in short sentences, but he explains it again by programming it in Python.

On the topic of Deep Learning the book by Tariq Rashid is excellent.

Tariq Rashid is head of the London Python-Meetup group with 3,000 members.

Make Your Own Neural Network by Tariq Rashid

In his book Make Your Own Neural Network he goes from a little story about artificial intelligence to the development of an artificial neural networks.

Already in the first chapter he gives a small but clear example of how and why the error leads to the model being improved.

In his book, as the title suggests, he explains how to program your own artificial neural network with python, step by step.

He explains the mathematical conditions and fineness, incredibly comprehensible and very simple.

I recommend everyone who starts with deep learning to program your first artificial neural network from scratch.

Courses

Here I suggest two courses of Coursera.

Andrew Ng

On the subject of machine learning, I recommend the course of Andrew Ng — Machine Learning, this course is unbeatable in my opinion and whoever deals with data science or the subject of machine learning will inevitably come across him.

deeplearning.ai

For deep learning I advise the course from deeplearning.ai .

One of the lecturers is again Andrew Ng. In this course you learn not only common artificial neural networks, but also convolutional neural networks for image recognition.

If you want to learn the necessary libraries for machine learning, like scikit-learn, tensorflow and keras, I recommend to read the documentation for these libraries or to visit the courses for these libraries on Youtube, Udacity or Udemy.

In my opinion it is first and foremost important to understand the machine learning algorithms and the theory behind them and especially for what purposes you use them.

6. Flask and Flask-RESTful

Courses

This point is rarely or not at all mentioned by others.

In my opinion it is extremely important. Not only to develop a small web application, but also an API that you make available to others.

For example, an already trained API to recognize company logos, or an API that makes predictions based on various data using a machine learning algorithm.

You can make this API available to other programmers in the world, for free or for a fee.

Believe me when I tell you that learning Flask will only benefit you.

Jose Salvatierra

To learn Flask, I recommend the course by Jose Salvatierra.

He will teach you not only how to use Flask, Flask API, but also how to make it safe using JWT.

You will also get an introduction to Git, which is also very important for version control.

7. SQL and NoSQL

Courses

Let us now come to the important, if not the most important area in data science, namely databases and database languages.

It is well known by now that the development of machine learning models does not take as much time as cleaning, structuring, modifying and analyzing data.

While we are on the subject of data science, data is of course the most important thing.

Knowing how to retrieve this data from a database and how to design the queries is incredibly essential.

It is very often the case that in reality you work with impure, inaccurate, unstructured and missing data.

Knowing how to deal with this is an art in itself.

Let’s say you have features that show growth figures or ratios.

And these features have missing or incorrect values in some places.

Simply calculating the median, the mode or the average is not always the best.

In our case, you should rather make the geometric or harmonic mean.

Or you have to deal with nominally scaled data, such as the feature, the favorite fruit of your users.

What do you do if there are values missing? We are not talking about 1 or 2 data sets, where it is not noticeable at all with a large amount of data.

freeCodeCamp.org

For SQL and NoSQL, I recommend the courses from freeCodeCamp.org and Traversy Media on Youtube.

The two videos on the topics are very popular (SQL 5.2 million and NoSQL 1.7 million views).