All in one place, the best resources to learn Data Science with comprehensive and detailed roadmaps.
Go to website
![discord](https://raw.githubusercontent.com/ayush714/data-science-roadmap/main/assets/4373196_discord_logo_logos_icon.png)
All in one place, the best resources to learn Data Science with comprehensive and detailed roadmaps. Data Science is a vast field and it is very difficult to find the best resources to learn it. This repository is an attempt to solve this problem. It contains the best resources to learn Data Science with comprehensive and detailed roadmaps.
It also contains the best resources to learn Machine Learning, Deep Learning, Data Analysis, Data Visualization, and much more. This repository is a one-stop solution for all your Data Science learning needs.
It is a continuously evolving repository and I will keep adding more resources to it. If you have any suggestions or want to contribute to this repository, feel free to open an issue or a pull request.
I will divide the resources into different levels of learning and will also provide the best resources to learn each topic. The levels of learning are:
- Getting ready to learn data science
- Core Data Science Fundamentals
- Intermediate Data Science
- Advanced Data Science
- Data Science Projects
- Guide to Data Science Interviews
Topic | Resources & Links |
---|---|
Linear Algebra | Introduction to Linear Algebra by Gilbert Strang, Book, Linear Algebra by Antern, Course, Linear Algebra for Dummies Book by Mary Jane Sterling |
Calculus | Calculus for Dummies, Book , Single Variable Calculus Course by Antern |
Statistics & Probability | Statistics for Dummies, Book, Probability for Dummies, Book, Statistics and Probability Course by Antern |
Basics of Information Theory | Information Theory by d2l.ai |
Topic | Resources & Links |
---|---|
Linear Algebra Questions | Linear Algebra Interview questions |
Statistics & Probability Interview Questions | Link 1, Link 2, Link 3, Link 4 |
Learning Tip 1 π: If you're are a beginnner and not able to answer interview questions, it's totally ok, you can look upto the solutions and solve similar types of problems on your own to practice those types of questions. You don't need to learn every concept, if you're not able to understand it, just skip it and move on to the next topic and review next day or try to get help from communities such as discord communities.
Interview Tip 1 π: While answering questions, try to explain in such a way that you're building your solution from base, if you know the answer, start with explaining how you reached to that answer, don't tell your answer, explain your thought process. Interviews wants to check your problem solving skills. Even if you give wrong answer but your thought process is correct, interviewer might be impressed.
Lecture Topics | Resources & Links |
---|---|
Core Python | Durga Sir Python, or Corey Schafer |
Intermediate Python | Corey Schafer |
Advance Python | Durga Sir Advance Python |
Core Software Engineering Principle | Robust Python & Design Patterns |
Data Structures and Algorithms | Data Structures and Algorithms in Python, Introduction to Algorithms, MIT 6.006 |
Learning Tip 2 π: If you're a beginner and learning python, it will require time to reiterate several times to understand a concept, & trust me it's totally worth it. As said learning Data science requires time and learning the hard way rather than shortcuts which will make you nowhere. So, don't get demotivated if you're not able to understand a concept, just keep trying and you'll get it.
Learning Tip 3 π: Data structures and algorithms is becoming one of the important topics in data science interview as well in giant companies, so it's important to learn it. Not only from the perspective of interviews, learning it and solving problems using dsa makes your problem solving skill and criticial thinking much more better than before and you will be having several tools in your toolbox to solve any problem. So I suggest to learn a particular topic and solve several questions on it, we will soon be adding several problems on this page to practice for data science.
According to Harvard business School, Data science is the process of deriving meaningful insights from raw data. Data science aims to make sense of the copious amounts of data, also referred to as big data, that todayβs organizations maintain.
Topics | Resources & Links |
---|---|
Pandas | Pandas user Guide, Getting started with Pandas,Python for Data Analysis: Data Wrangling with pandas, NumPy, and Jupyte, Book, Data School |
Numpy | Numpy Learn docs |
Matplotlib | Matplotlib Tutorial, Corey Schafer Matplotlib Tutorials |
Topics | Resources & Links |
---|---|
Data Analysis | Python for Data Analysis, Head First Data Analysis: A Learner's Guide to Big Numbers, Statistics, and Good Decisions |
Data Visualization | Fundamentals of Data Visualization: A Primer on Making Informative and Compelling Figures |
Learning Tip 4 π: Learning frameworks is not a big deal, but the way you use frameworks to analyze data, visualize data and solve problems is what matters. So, I suggest to understand the CRUX of data analysis and data visualization and use the frameworks to build your solution. If you don't know the actual CRUX of data visualization, analysis, then there is no point in learning frameworks. and If you don't know how to work with data, then there is no point in learning ML.
Topics | Resources & Links |
---|---|
SQL | SQL for Data Analysis Cathy Tanimura or Learning SQL |
Practicing SQL | SQL Cookbook by By Anthony Molinaro, DataLemur |
Note: People usually have question around learning Big data tools in initial phases of data science, I personally think, it's not necessary to learn big data tools in initial phases of data science, but if you're interested in learning it, you can learn it later on. There are different perspectives on this, i would like you to check out the answers from this quora answer.
I have made a separate page for machine learning, you can check it out here. I also given my personal opinion on machine learning and how to learn it in the most efficient way possible in the form of a video, you can check it out here, which got more than 150k views.
Topics | Resources & Links |
---|---|
Deep Learning courses | Yann LeCunβs Deep Learning Course at CDS, CS230 Deep Learning, Antern's ML002, Deep Learning: CS 182 |
Deep Learning books | Deep Learning Book, Deep Learning with Python, Deep Learning for Coders with fastai and PyTorch |
Natural Language Processing | CS224n: Natural Language Processing with Deep Learning |
Computer Vision | Stanford Computer Vision |
Machine Learning Operations | MadewithML |
Before starting with any project, I would suggest you to go through this video, which will help you to understand the process of building a data science project which can help you to land a job.
We will be publishing a detailed blog and a video which walks you through a procedure to finding and building impactful data science project. It will be out soon, till then we suggest you to go through the following resources for inspiration:-
Taking part in competitions is also a great way to learn and build your portfolio, you can check out the following platforms for competitions:-
- DrivenData
- Kaggle
- Analytics Vidhya
- Zindi
We will be publishing Interviews guide for every topic, but till then you can go through the following resources:-
- Machine learning Interview questions
- Ace the Data Science Interview
- Deep Learning Interviews: Hundreds of fully solved job interview questions from a wide range of key topics in AI
- Eugene Yan's Guides
- Machine Learning System Deisng
- Data Scientist Interviews
- Guides by Applying ML
This repository is a work in progress, we will be adding more topics in the future, you can check out the following topics which we will be adding in the future:-
- Detailed Interview Guides
- Detailed Project Guides
- Detailed Guide to Data Science Portfolio
- Detailed Guide to Data Science Resume
- Detailed Guide to Data Science Cover Letter
- Other ways to get spotted by recruiters
We are open to contributions, if you want to contribute to this repository, you can check out the contributing guidelines. You can also contribute by sharing this repository with your friends and colleagues.