The goal of the roadmap is to provide a list of FREE resources that are enough to become a Middle/Senior Data Scientist starting from ZERO.
- ✅ Each topic has links to free courses, YouTube videos, articles, or book chapters.
- ✅ The entire roadmap can be completed with 0$ spent.
- ✅ By following the roadmap, you'll be ready for middle-level daily data science work.
- ✅ You'll also be prepared for senior-level data science interviews from the theory perspective.
Most of the resources were personally tested by me, when I was learning Machine Learning and Data Science from scratch, upgrading my skills or helping my team members doing so.
- ✅ Data Science beginners who are looking for a practical step-by-step guide.
- ✅ Data Scientists who aim to level up skills for a job change or promotion.
- ✅ Data Scientists who are looking to refresh their knowledge and prepare for interviews.
- ✅ Data Scientists who want to level up skills in a specific domain, e.g. Optimization.
The PDF version includes comments on each course, making the roadmap easier to follow and convenient to have on hand.
To help people learn ML Foundations for free, please, support this project with a GitHub star ⭐, so more people can learn ML for free.
- 📖 1.1 Introduction
- 🛠️ 1.2 Data Manipulation
- 📊 1.3 Data Visualization
- 🔍 Intro
- 🚀 Deeper Dive
- 🎯 1.4 Selected Practical Topics
- 🔰 2.1 Introduction
- 🎲 2.2 Probability, Stats & Linear Algebra
- 🤖 2.3 Supervised Learning
- 🔎 2.4 Unsupervised Learning
- 🎯 3.1 Selected Practical Topics
- 🧠 3.2 Neural Networks Introduction
- 🔄 3.3 Optimization with Python
- 🎛️ 3.4 Signal Processing
⚠️ 3.5 Anomaly Detection
- 🏗️ 4.1 Introduction
- 📦 4.2 Model Registry & Experiment Tracking
- 🔄 4.3 ML Pipelines
- 🛠️ 4.4 Model Monitoring
- 🐳 4.5 Docker Basics
- 📚 4.6 Additional Resources
To help people learn ML Foundations for free, please, support this project with a GitHub star ⭐, so more people can learn ML for free.
Python is the most widely used programming language in Data Science. It’s powerful, easy to learn, and has a vast ecosystem of libraries for data analysis, visualization, and machine learning.
Life is too short, learn Python. Forget R or S or T or whatever other programming language letters you see. And for God’s sake, no Matlab in your life should exist.
💡 Your goal? Get comfortable with Python basics and then dive into data manipulation and visualization—essential skills for any Data Scientist!
🔹 Paid Courses:
🔹 Free Courses:
Data manipulation is the core skill for a Data Scientist. You’ll need to clean, transform, and analyze data efficiently using Pandas and NumPy.
Data visualization helps communicate insights effectively. Learning how to use Matplotlib, Seaborn, and Plotly will allow you to create compelling charts and dashboards.
💡 Your goal? Understand different types of plots and when to use them.
Once you’re comfortable with Python, these practical topics will help you write cleaner, more efficient code and work effectively in real projects.
- 🧼 Clean Code Principles
- 📝 PEP8 Formatting Guide
- 🛠️ Using Black Formatter
- 🔍 Linting with Flake8 & Pylint
To help people learn ML Foundations for free, please, support this project with a GitHub star ⭐, so more people can learn ML for free.
Now we are getting to the "most interesting" part.
A solid understanding of the basics is crucial to being a great Data Scientist. This doesn’t mean you have to be a math genius, but understanding core principles will help both in your work and in interviews.
This roadmap focuses on the most widely used algorithms—ones you must understand deeply. Once you master these, you’ll be able to explore other algorithms confidently.
Machine Learning is about finding patterns in data and making predictions.
💡 Your goal? Understand the fundamental concepts of ML, classification, and regression before moving forward.
- 🎓 Andrew Ng’s ML Course (Coursera)
Perfect introductory course covering key ML concepts. Instead of browsing multiple intro courses, start with this one.
💡 Note: Coursera offers financial aid, so if needed, apply for it (I did it as a student, and it worked!).
To build good ML models, you must understand basic math concepts. You don’t need to be an expert, but knowing the fundamentals is essential.
- 🎥 3Blue1Brown’s Linear Algebra Series
Mind-blowing visuals that make linear algebra intuitive. - 📚 Python Linear Algebra Tutorial - Pablo Caceres
Apply linear algebra concepts in Python (essential for real-world ML applications).
- 🎥 Statistics Crash Course - Adriene Hill
Easiest explanations for complex probability & stats concepts. - 📚 Learn Statistics with Python - Ethan Weed
Hands-on Python exercises for better understanding.
Supervised learning is the foundation of ML. Most real-world applications involve some form of classification or regression problems.
💡 Your goal? Master these fundamental algorithms before moving to more complex techniques.
- 🎥 Nando de Freitas UBC, Lecture 1
- 🎥 Nando de Freitas UBC, Lecture 2
- 📊 Visual explanation with code 1
- 📊 Visual explanation with code 2
- 📚 Sklearn tutorial with Lasso model
- 🎥 Nando de Freitas UBC, Lecture 1
- 🎥 Nando de Freitas UBC, Lecture 2
- 🎥 Nando de Freitas UBC, Lecture 3
Unsupervised learning helps discover hidden structures in data when labels are not available.
- 📚 PCA - Step-by-step Guide
Fundamental technique for reducing data dimensions. - 🎥 t-SNE, Resource 1
- 🎥 t-SNE, Resource 2
- 📚 UMAP - Understanding & Applications
To help people learn ML Foundations for free, please, support this project with a GitHub star ⭐, so more people can learn ML for free.
This section is where you refine your skills, learn about advanced techniques, and dive into critical ML concepts that help improve model performance and interpretability. Mastering these topics will significantly enhance your ability to build, deploy, and optimize ML models.
Feature selection is crucial for building efficient and interpretable models. It helps reduce overfitting, improve generalization, and enhance interpretability.
- 📚 Comprehensive Guide on Feature Selection - Kaggle
A detailed guide on different feature selection methods.
Knowing which features influence your model's predictions is essential for interpretability and trust.
- 📚 Interpretable ML Book - Linear Models
- 📚 Interpretable ML Book - Logistic Models
- 🎥 Tree-based Feature Importance - Sebastian Raschka
- 📚 Permutation Feature Importance - Interpretable ML Book
- 🛠️ SHAP Library Documentation
You built a model, but how do you measure its performance? Understanding metrics is essential for making informed decisions.
Cross-validation is essential to prevent overfitting and estimate model performance accurately.
Neural Networks are one of the most powerful tools in ML, and they form the backbone of Deep Learning.
💡 Your goal? Understand the basic architecture of neural networks, backpropagation, and common deep learning techniques.
- 🎓 Deep Learning Specialization - Andrew Ng
A structured, step-by-step guide to deep learning concepts.
Optimization plays a crucial role in tuning ML models, solving complex problems, and improving performance.
Bayesian optimization helps optimize black-box functions, often used for hyperparameter tuning.
SciPy provides built-in optimization algorithms widely used in ML and scientific computing.
- 📚 SciPy Optimization Overview
- 📚 Optimization Constraints with SciPy - Towards Data Science
- 📚 SciPy Optimization Tutorial
- 📚 Optimization in Python - Duke University
🎮 Optimization Playground - Ben Frederickson
Signal processing is crucial in industrial ML projects. You need to filter out noise, remove outliers, and handle vibration analysis using time-frequency domain filters.
- 📖 Tutorial
- 📖 Anomaly Detection Methods Review - ACM
- 📖 Anomaly Detection with Python - Neptune AI
- 📖 Deep Learning Anomaly Detection
- 🛠️ Time Series Anomaly Detection Libraries
- 🛠️ Selected Article 1
- 🛠️ Selected Article 2
To help people learn ML Foundations for free, please, support this project with a GitHub star ⭐, so more people can learn ML for free.
MLOps (Machine Learning Operations) is essential for deploying, managing, and scaling ML models in production. Many Data Scientists debate whether they need MLOps skills, but having a solid understanding will make you a stronger professional who can build and deploy end-to-end solutions.
Alexey Grigoriev and his team have created an excellent MLOps course covering key concepts. Another great resource is Neptune AI's blog, which provides practical guides on MLOps topics.
Model registry and experiment tracking are critical for managing models effectively, especially in a team setting.
- 📚 Model Registry - Neptune AI
- 📚 Experiment Tracking - Neptune AI
- 🛠️ Hands-on Example - DataTalksClub
Well-structured ML pipelines streamline the model development and deployment process. Avoid hardcoded workflows—use proper pipeline tools!
- 📚 Building End-to-End ML Pipelines - Neptune AI
- 📚 Best ML Workflow and Pipeline Orchestration Tools - Neptune AI
- 🛠️ ML Pipelines with Mage/Prefect - DataTalksClub
💡 Your goal? Try implementing a small pipeline from scratch using one of the recommended tools.
Monitoring models post-deployment is crucial to ensure their performance doesn’t degrade over time.
Docker allows you to containerize ML models for consistent deployment across different environments. Though intimidating at first, it’s a must-know tool for any Data Scientist.
If you want to go deeper into MLOps, check out this roadmap. But be cautious—MLOps is vast, so focus on the fundamentals first!

