data-science-roadmap
data-science-roadmap copied to clipboard
Roadmap to learn Data Science and related areas.
Data Science Roadmap
Self learning Data Science curriculum.
About
This repository intendend to provide a complete Data Science learning path to those who intersted in learning Data Science. In this repository, I gave preference to free resource. However, some valuable paid courses also included.
Explanation
- :tv: Video content.
- :dollar: Paid content.
- :newspaper: Online article.
- :file_folder: GitHub repo.
Content
-
Statistics & Probability
- Descriptive Statistics
- Probability
- Combinations and Permutations
- Distributions
- Confidence Intervals
- Hypothesis
-
Linear Algebra
- Vectors and Spaces
- Dot Product
- Matrix Transformations
- Eigenvalues and Eigenvectors
- Integrals
- Python Programming
- Numpy
- Pandas
- To-Do
- Contribution guideline
Statistics & Probability
Descriptive Statistics
Probability
- :tv: Theoretical probability
- :tv: Sample spaces
- :tv: Set operations
- :tv: Addition rule
- :tv: Multiplication rule for independent events
- :tv: Multiplication rule for dependent events
- :tv: Conditional probability and independence
Combinations and Permutations
- :tv: Counting principle and factorial
- :tv: Permutations
- :tv: Combinations
Distributions
- :tv: Normal distribution and the Empirical rule
- :tv: Introduction to Sampling Distributions
- :tv: Sampling distribution of a sample proportion
- :tv: Sampling distribution of a sample mean
Confidence Intervals
Hypothesis
- :tv: Hypothesis Testing
- :tv: Error probabilities and power
- :tv: Tests about a population proportion
- :tv: Tests about a population mean
Linear Algebra
Vectors and Spaces
- :tv: Vectors
- :tv: Linear Combinations and Spans
- :tv: Linear Dependence and Independence
- :tv: Subspaces and the basis for a subspace
Dot Product
Matrix Transformations
- :tv: Functions and Linear Transformations
- :tv: Transformations and Matrix Multiplications
- :tv: Inverse Functions and Transformations
- :tv: Inverses and Determinants
- :tv: Transpose of a Matrix
Eigenvalues and Eigenvectors
Integrals
- :tv: Approximation with Riemann Sums
- :tv: Definite Integrals with Riemann Sums
- :tv: The Fundamental Theorem of Calculus and Accumulation Functions
- :tv: Properties of Definite Integrals
- :tv: The Fundamental Theorem of Calculus and Definite Integrals
- :tv: Reverse Power Rule
- :tv: Indefinite Integrals of Common Functions
- :tv: Definite Integrals of Common Functions
Python Programming
- :newspaper: Learn Python Tutorial
Basics
- :newspaper: Hello, World!
- :newspaper: Variables and Types
- :newspaper: Lists
- :newspaper: Basic Operators
- :newspaper: String Formatting
- :newspaper: Basic String Operations
- :newspaper: Conditions
- :newspaper: Loops
- :newspaper: Functions
- :newspaper: Classes and Objects
- :newspaper: Dictionaries
- :newspaper: Modules and Packages
Advanced
- :newspaper: Generators
- :newspaper: List Comprehensions
- :newspaper: Multiple Function Arguments
- :newspaper: Regular Expressions
- :newspaper: Exception Handling
- :newspaper: Sets
- :newspaper: Serialization
- :newspaper: Partial functions
- :newspaper: Code Introspection
- :newspaper: Closures
- :newspaper: Decorators
- :newspaper: Map, Filter, Reduce
More Resources
- :newspaper: Python 3 Tutorial
- :tv: Introduction to Python Video 1 or Video 2
Numpy
Basics
- :newspaper: An example
- :newspaper: Array Creation
- :newspaper: Printing Arrays
- :newspaper: Basic Operations
- :newspaper: Universal Functions
- :newspaper: Indexing, Slicing and Iterating
Shape Manipulation
- :newspaper: Changing the shape of an array
- :newspaper: Stacking together different arrays
- :newspaper: Splitting one array into several smaller ones
Copies and Views
- :newspaper: No Copy at All
- :newspaper: View or Shallow Copy
- :newspaper: Deep Copy
- :newspaper: Functions and Methods Overview
Less Basic
- :newspaper: Broadcasting rules
Advanced indexing and index tricks
- :newspaper: Indexing with Arrays of Indices
- :newspaper: Indexing with Boolean Arrays
- :newspaper: The ix_() function
- :newspaper: Indexing with strings
Linear Algebra
- :newspaper: Simple Array Operations
More Resources
- :newspaper: NumPy: the absolute basics for beginners
- :newspaper: NumPy Tutorial
- :newspaper: The Ultimate Beginner’s Guide to NumPy
- :newspaper: The Ultimate NumPy Tutorial for Data Science Beginners
- :newspaper: NumPy Tutorial: Your First Steps Into Data Science in Python
- :newspaper: 101 NumPy Exercises for Data Analysis (Python)
- :tv: Complete Python NumPy Tutorial
- :file_folder: Python Numpy Tutorial (with Jupyter and Colab)
- :file_folder: 100 numpy exercises
Pandas
- :newspaper: 10 minutes to pandas
- :newspaper: Intro to data structures
- :newspaper: Essential basic functionality
- :newspaper: IO tools
- :newspaper: Indexing and selecting data
- :newspaper: MultiIndex / advanced indexing
- :newspaper: Merge, join, concatenate and compare
- :newspaper: Reshaping and pivot tables
- :newspaper: Working with text data
- :newspaper: Duplicate Labels
- :newspaper: Categorical data
- :newspaper: Nullable integer data type
- :newspaper: Nullable Boolean data type
- :newspaper: Visualization using pandas
- :newspaper: Computational tools
- :newspaper: Group by: split-apply-combine
- :newspaper: Windowing Operations
- :newspaper: Time series / date functionality
- :newspaper: Time deltas
- :newspaper: Styling
- :newspaper: Options and settings
- :newspaper: Cookbook
More Resources
- :newspaper: Learn Pandas Tutorials | Kaggle
- :tv: Python Pandas Tutorial
- :tv: Complete Python Pandas Data Science Tutorial
- :newspaper: 101 Pandas Exercises for Data Analysis
- :file_folder: pandas_exercises
Matplotlib
Matplotlib Official Tutorials
- :newspaper: Sample plots in Matplotlib
- :newspaper: Customizing Matplotlib with style sheets and rcParams
- :newspaper: Styling with cycler
- :newspaper: Legend guide
- :newspaper: Specifying Colors
- :newspaper: Annotations
Other Resources
- :newspaper: Introduction to Matplotlib — Data Visualization in Python
- :newspaper: Python Plotting With Matplotlib (Guide)
- :newspaper: Matplotlib Tutorial
- :newspaper: Python Graph Gallery
- :tv: Python Matplotlib Tutorial | Edureka
- :tv: Matplotlib tutorial | Simplilearn
To-Do
- [ ] Seaborn
- [ ] Exploratory Data Analysis (EDA)
- [ ] SQL
- [ ] Machine Learning Concepts
- [ ] Scikit-Learn
- [ ] Projects
- [ ] Translation in different language
- [ ] Cheatsheets
FAQ
-
Which programming languages should I use? Python and R. However, I added materials on Python.
-
How to contribute? Check out contribution guidelines.
Contribution guideline
You can open an issue and give your suggestions as to how I can improve this guide, or what I can do to improve the learning experience.
You can also fork this repo and send a pull request to fix any mistakes that you have found.
If you want to suggest a new resource, send a pull request adding such resource to the extras section. The extras section is a place where all of us will be able to submit interesting additional articles, books, courses and specializations.