Today, when you are a beginner in Machine Learning and Data Science, it's easy to get lost. There's so much to know, so many articles, tutorials, how-tos, algorithms, problems, libraries, frameworks, programming languages.
Where should you start from?
In this post, we share the best advice people of semanti.ca could give to a beginner in Machine Learning and Data Science.
In 2010s, the best way to learn about anything in computer science is through online courses. Most online courses are free to watch. However, you usually have to pay if you want to work on practical assignments and get your certificate.
There are several online learning platforms. Here are the most popular ones:
Udemy has the largest selection of courses. Courses can be taught by anyone (not necessarily a university professor, so quality varies), which can make it difficult for a potential student to determine which might be the best course for them to take.
Udacity offers corporate sponsored courses taught by industry experts. Most of the courses are focused on the tech industry.
Coursera is one of the oldest platforms with courses taught by university professors. The variety and quality of courses are high. Coursera is led by Stanford University, but many other top universities participate.
EdX is similar to Coursera but is led by Harward and MIT.
As of 2018, the best courses in Machine Learning are as follows:
- Machine Learning by Andrey Ng on Coursera.
- Machine Learning by Columbia University on EdX.
- Two introductory courses: Learning from Data by Caltech on EdX and Intro to Machine Learning by Sebastian Thrun on Udacity.
- Machine Learning Specialization by the University of Washington on Coursera.
Data Science includes Machine Learning as a tool, so if you want to be a Data Scientist rather than a Machine Learning Engineer, here are your alternatives:
- Data Science Essentials on EdX.
- Data Science Specialization by Johns Hopkins University on Coursera.
- Applied Data Science with Python Specialization by the University of Michigan on Coursera.
Deep Learning (aka Neural Networks) is a subfield of Machine Learning. The best online courses belong to the Deep Learning Specialization by Andrew Ng on Coursera.
If you find such a choice overwhelming, we recommend you to start from Machine Learning course by Andrey Ng then either go deeper with the Deep Learning Specialization or wider with the Machine Learning Specialization.
After that, take any data science course from the above list to see what you missed.
The classics for beginners in Machine Learning is Data Mining: Practical Machine Learning Tools and Techniques. You can skip the second part of the book about Weka. Nobody really uses Weka in 2018.
Once you are ready to dive deeper, you can read The Elements of Statistical Learning: Data Mining, Inference, and Prediction to increase your understanding of Machine Learning theory.
If you are interested in Natural Language Processing, then these two books are the must: Foundations Statistical Natural Language-Processing for the theory and Natural Language Processing with Python: Analyzing Text with the Natural Language Toolkit for the practice (with Python and NLTK).
When you are ready to start programming your first data analysis solution, consider the following Python packages:
- Pandas, for data pre-processing, cleaning, transformation;
- scikit-learn for a comprehensive collection of Machine Learning algorithms;
- Keras, an easy to use and versatile Deep Learning library;
- TensorFlow, a more low-level Deep Learning library that gives you more control over your neural network architectures;
- Matplotlib for your data visualizations;
- Jupyter Notebook to create and share documents that contain code, equations, visualizations and descriptive text.
Stay Up to Date
Here's the list of news sources and blogs to stay updated on the state of Data Science and Machine Learning:
- DataCamp Community;
- Machine Learning Mastery;
- OpenAI Blog;
- Microsoft Research Blog;
- Kaggle Blog;
- Google AI Blog;
- Flowing Data;
- This blog :-)
Now, you are good to start your learning!
Also, read our tutorial on how to prepare for a machine learning interview.
Found a mistyping or an inconsistency in the text? Let us know and we will improve it.