Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/durgeshsamariya/data-science-roadmap

Roadmap to learn Data Science and related areas.
https://github.com/durgeshsamariya/data-science-roadmap

data-science data-science-resources learn-data-science roadmap

Last synced: about 4 hours ago
JSON representation

Roadmap to learn Data Science and related areas.

Awesome Lists containing this project

README

        

# 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](#statistics-&-probability)
- [Descriptive Statistics](#descriptive-statistics)
- [Probability](#probability)
- [Combinations and Permutations](#combinations-and-permutations)
- [Distributions](#distributions)
- [Confidence Intervals](#confidence-intervals)
- [Hypothesis](#hypothesis)
- [Linear Algebra](#linear-algebra)
- [Vectors and Spaces](#vectors-and-spaces)
- [Dot Product](#dot-product)
- [Matrix Transformations](#matrix-transformations)
- [Eigenvalues and Eigenvectors](#eigenvalues-and-eigenvectors)
- [Integrals](#integrals)
- [Python Programming](#python-programming)
- [Numpy](#numpy)
- [Pandas](#pandas)
- [To-Do](#to-do)
- [Contribution guideline](#contribution-guideline)

# Statistics & Probability

### Descriptive Statistics
- Intro to Descriptive Statistics [Article 1](https://towardsdatascience.com/descriptive-statistics-f2beeaf7a8df) **or** [Article 2](https://towardsdatascience.com/intro-to-descriptive-statistics-252e9c464ac9)

### Probability
- :tv: [Theoretical probability](https://www.khanacademy.org/math/statistics-probability/probability-library/basic-theoretical-probability/v/basic-probability)
- :tv: [Sample spaces](https://www.khanacademy.org/math/statistics-probability/probability-library/probability-sample-spaces/v/events-and-outcomes-3)
- :tv: [Set operations](https://www.khanacademy.org/math/statistics-probability/probability-library/basic-set-ops/v/intersection-and-union-of-sets)
- :tv: [Addition rule](https://www.khanacademy.org/math/statistics-probability/probability-library/addition-rule-lib/v/probability-with-playing-cards-and-venn-diagrams)
- :tv: [Multiplication rule for independent events](https://www.khanacademy.org/math/statistics-probability/probability-library/multiplication-rule-independent/v/compound-sample-spaces)
- :tv: [Multiplication rule for dependent events](https://www.khanacademy.org/math/statistics-probability/probability-library/multiplication-rule-dependent/v/introduction-to-dependent-probability)
- :tv: [Conditional probability and independence](https://www.khanacademy.org/math/statistics-probability/probability-library/conditional-probability-independence/v/calculating-conditional-probability)

### Combinations and Permutations
- :tv: [Counting principle and factorial](https://www.khanacademy.org/math/statistics-probability/counting-permutations-and-combinations/counting-principle-factorial/v/tree-diagram-to-count-outcomes)
- :tv: [Permutations](https://www.khanacademy.org/math/statistics-probability/counting-permutations-and-combinations/permutation-lib/v/permutation-formula)
- :tv: [Combinations](https://www.khanacademy.org/math/statistics-probability/counting-permutations-and-combinations/combinations-lib/v/introduction-to-combinations)

### Distributions
- :tv: [Normal distribution and the Empirical rule](https://www.khanacademy.org/math/statistics-probability/modeling-distributions-of-data/normal-distributions-library/v/ck12-org-normal-distribution-problems-qualitative-sense-of-normal-distributions)
- :tv: [Introduction to Sampling Distributions](https://www.khanacademy.org/math/statistics-probability/sampling-distributions-library/what-is-a-sampling-distribution/v/introduction-to-sampling-distributions)
- :tv: [Sampling distribution of a sample proportion](https://www.khanacademy.org/math/statistics-probability/sampling-distributions-library/sample-proportions/v/sampling-distribution-of-sample-proportion-part-1)
- :tv: [Sampling distribution of a sample mean](https://www.khanacademy.org/math/statistics-probability/sampling-distributions-library/sample-means/v/statistics-sample-vs-population-mean)

### Confidence Intervals
- :tv: [Confidence Intervals](https://www.khanacademy.org/math/statistics-probability/confidence-intervals-one-sample/introduction-to-confidence-intervals/v/confidence-intervals-and-margin-of-error)
- :tv: [Estimating Sample Proportions](https://www.khanacademy.org/math/statistics-probability/confidence-intervals-one-sample/estimating-population-proportion/v/confidence-interval-example)
- :tv: [Estimating Sample Means](https://www.khanacademy.org/math/statistics-probability/confidence-intervals-one-sample/estimating-population-mean/v/introduction-to-t-statistics)

### Hypothesis
- :tv: [Hypothesis Testing](https://www.khanacademy.org/math/statistics-probability/significance-tests-one-sample/idea-of-significance-tests/v/simple-hypothesis-testing)
- :tv: [Error probabilities and power](https://www.khanacademy.org/math/statistics-probability/significance-tests-one-sample/error-probabilities-and-power/v/introduction-to-type-i-and-type-ii-errors)
- :tv: [Tests about a population proportion](https://www.khanacademy.org/math/statistics-probability/significance-tests-one-sample/tests-about-population-proportion/v/constructing-hypotheses-for-a-significance-test)
- :tv: [Tests about a population mean](https://www.khanacademy.org/math/statistics-probability/significance-tests-one-sample/tests-about-population-mean/v/writing-hypotheses-for-significance-test-about-means)

# Linear Algebra

### Vectors and Spaces
- :tv: [Vectors](https://www.khanacademy.org/math/linear-algebra/vectors-and-spaces/vectors/v/vector-introduction-linear-algebra)
- :tv: [Linear Combinations and Spans](https://www.khanacademy.org/math/linear-algebra/vectors-and-spaces/linear-combinations/v/linear-combinations-and-span)
- :tv: [Linear Dependence and Independence](https://www.khanacademy.org/math/linear-algebra/vectors-and-spaces/linear-independence/v/linear-algebra-introduction-to-linear-independence)
- :tv: [Subspaces and the basis for a subspace](https://www.khanacademy.org/math/linear-algebra/vectors-and-spaces/subspace-basis/v/linear-subspaces)

### Dot Product
- :tv: [Vector dot and cross products](https://www.khanacademy.org/math/linear-algebra/vectors-and-spaces/dot-cross-products/v/vector-dot-product-and-vector-length)

### Matrix Transformations
- :tv: [Functions and Linear Transformations](https://www.khanacademy.org/math/linear-algebra/matrix-transformations/linear-transformations/v/a-more-formal-understanding-of-functions)
- :tv: [Transformations and Matrix Multiplications](https://www.khanacademy.org/math/linear-algebra/matrix-transformations/composition-of-transformations/v/compositions-of-linear-transformations-1)
- :tv: [Inverse Functions and Transformations](https://www.khanacademy.org/math/linear-algebra/matrix-transformations/inverse-transformations/v/linear-algebra-introduction-to-the-inverse-of-a-function)
- :tv: [Inverses and Determinants](https://www.khanacademy.org/math/linear-algebra/matrix-transformations/inverse-of-matrices/v/linear-algebra-deriving-a-method-for-determining-inverses)
- :tv: [Transpose of a Matrix](https://www.khanacademy.org/math/linear-algebra/matrix-transformations/matrix-transpose/v/linear-algebra-transpose-of-a-matrix)

### Eigenvalues and Eigenvectors
- :tv: [Eigenvalues and Eigenvectors](https://www.mathsisfun.com/algebra/eigenvalue.html)

### Integrals
- :tv: [Approximation with Riemann Sums](https://www.khanacademy.org/math/integral-calculus/ic-integration/ic-riemann-sums/v/simple-riemann-approximation-using-rectangles)
- :tv: [Definite Integrals with Riemann Sums](https://www.khanacademy.org/math/integral-calculus/ic-integration/ic-definite-integral-definition/v/riemann-sums-and-integrals)
- :tv: [The Fundamental Theorem of Calculus and Accumulation Functions](https://www.khanacademy.org/math/integral-calculus/ic-integration/ic-ftc-part-1/v/fundamental-theorem-of-calculus)
- :tv: [Properties of Definite Integrals](https://www.khanacademy.org/math/integral-calculus/ic-integration/ic-integral-prop/v/negative-definite-integrals)
- :tv: [The Fundamental Theorem of Calculus and Definite Integrals](https://www.khanacademy.org/math/integral-calculus/ic-integration/ic-ftc-part-2/v/connecting-the-first-and-second-fundamental-theorems-of-calculus)
- :tv: [Reverse Power Rule](https://www.khanacademy.org/math/integral-calculus/ic-integration/ic-reverse-power-rule/v/indefinite-integrals-of-x-raised-to-a-power)
- :tv: [Indefinite Integrals of Common Functions](https://www.khanacademy.org/math/integral-calculus/ic-integration/ic-common-indefinite-integrals/v/antiderivative-of-x-1)
- :tv: [Definite Integrals of Common Functions](https://www.khanacademy.org/math/integral-calculus/ic-integration/ic-common-definite-integrals/v/reverse-power-rule-for-definite-integrals)

# Python Programming
- :newspaper: [Learn Python Tutorial](https://www.learnpython.org)
### Basics
- :newspaper: [Hello, World!](https://www.learnpython.org/en/Hello%2C_World%21)
- :newspaper: [Variables and Types](https://www.learnpython.org/en/Variables_and_Types)
- :newspaper: [Lists](https://www.learnpython.org/en/Lists)
- :newspaper: [Basic Operators](https://www.learnpython.org/en/Basic_Operators)
- :newspaper: [String Formatting](https://www.learnpython.org/en/String_Formatting)
- :newspaper: [Basic String Operations](https://www.learnpython.org/en/Basic_String_Operations)
- :newspaper: [Conditions](https://www.learnpython.org/en/Conditions)
- :newspaper: [Loops](https://www.learnpython.org/en/Loops)
- :newspaper: [Functions](https://www.learnpython.org/en/Functions)
- :newspaper: [Classes and Objects](https://www.learnpython.org/en/Classes_and_Objects)
- :newspaper: [Dictionaries](https://www.learnpython.org/en/Dictionaries)
- :newspaper: [Modules and Packages](https://www.learnpython.org/en/Modules_and_Packages)

### Advanced
- :newspaper: [Generators](https://www.learnpython.org/en/Generators)
- :newspaper: [List Comprehensions](https://www.learnpython.org/en/List_Comprehensions)
- :newspaper: [Multiple Function Arguments](https://www.learnpython.org/en/Multiple_Function_Arguments)
- :newspaper: [Regular Expressions](https://www.learnpython.org/en/Regular_Expressions)
- :newspaper: [Exception Handling](https://www.learnpython.org/en/Exception_Handling)
- :newspaper: [Sets](https://www.learnpython.org/en/Sets)
- :newspaper: [Serialization](https://www.learnpython.org/en/Serialization)
- :newspaper: [Partial functions](https://www.learnpython.org/en/Partial_functions)
- :newspaper: [Code Introspection](https://www.learnpython.org/en/Code_Introspection)
- :newspaper: [Closures](https://www.learnpython.org/en/Closures)
- :newspaper: [Decorators](https://www.learnpython.org/en/Decorators)
- :newspaper: [Map, Filter, Reduce](https://www.learnpython.org/en/Map%2C_Filter%2C_Reduce)

### More Resources
- :newspaper: [Python 3 Tutorial](https://www.tutorialspoint.com/python3/)
- :tv: Introduction to Python [Video 1](https://www.youtube.com/watch?v=_uQrJ0TkZlc&t=86s) **or** [Video 2](https://www.youtube.com/watch?v=rfscVS0vtbw)

# Numpy

### Basics
- :newspaper: [An example](https://numpy.org/doc/stable/user/quickstart.html#an-example)
- :newspaper: [Array Creation](https://numpy.org/doc/stable/user/quickstart.html#array-creation)
- :newspaper: [Printing Arrays](https://numpy.org/doc/stable/user/quickstart.html#printing-arrays)
- :newspaper: [Basic Operations](https://numpy.org/doc/stable/user/quickstart.html#basic-operations)
- :newspaper: [Universal Functions](https://numpy.org/doc/stable/user/quickstart.html#universal-functions)
- :newspaper: [Indexing, Slicing and Iterating](https://numpy.org/doc/stable/user/quickstart.html#indexing-slicing-and-iterating)

### Shape Manipulation
- :newspaper: [Changing the shape of an array](https://numpy.org/doc/stable/user/quickstart.html#changing-the-shape-of-an-array)
- :newspaper: [Stacking together different arrays](https://numpy.org/doc/stable/user/quickstart.html#stacking-together-different-arrays)
- :newspaper: [Splitting one array into several smaller ones](https://numpy.org/doc/stable/user/quickstart.html#splitting-one-array-into-several-smaller-ones)

### Copies and Views
- :newspaper: [No Copy at All](https://numpy.org/doc/stable/user/quickstart.html#no-copy-at-all)
- :newspaper: [View or Shallow Copy](https://numpy.org/doc/stable/user/quickstart.html#view-or-shallow-copy)
- :newspaper: [Deep Copy](https://numpy.org/doc/stable/user/quickstart.html#deep-copy)
- :newspaper: [Functions and Methods Overview](https://numpy.org/doc/stable/user/quickstart.html#functions-and-methods-overview)

### Less Basic
- :newspaper: [Broadcasting rules](https://numpy.org/doc/stable/user/quickstart.html#broadcasting-rules)

### Advanced indexing and index tricks
- :newspaper: [Indexing with Arrays of Indices](https://numpy.org/doc/stable/user/quickstart.html#indexing-with-arrays-of-indices)
- :newspaper: [Indexing with Boolean Arrays](https://numpy.org/doc/stable/user/quickstart.html#indexing-with-boolean-arrays)
- :newspaper: [The ix_() function](https://numpy.org/doc/stable/user/quickstart.html#the-ix-function)
- :newspaper: [Indexing with strings](https://numpy.org/doc/stable/user/quickstart.html#indexing-with-strings)

### Linear Algebra
- :newspaper: [Simple Array Operations](https://numpy.org/doc/stable/user/quickstart.html#simple-array-operations)

### More Resources
- :newspaper: [NumPy: the absolute basics for beginners](https://numpy.org/doc/stable/user/absolute_beginners.html)
- :newspaper: [NumPy Tutorial](https://www.tutorialspoint.com/numpy/)
- :newspaper: [The Ultimate Beginner’s Guide to NumPy](https://towardsdatascience.com/the-ultimate-beginners-guide-to-numpy-f5a2f99aef54)
- :newspaper: [The Ultimate NumPy Tutorial for Data Science Beginners](https://www.analyticsvidhya.com/blog/2020/04/the-ultimate-numpy-tutorial-for-data-science-beginners/)
- :newspaper: [NumPy Tutorial: Your First Steps Into Data Science in Python](https://realpython.com/numpy-tutorial/)
- :newspaper: [101 NumPy Exercises for Data Analysis (Python)](https://www.machinelearningplus.com/python/101-numpy-exercises-python/)
- :tv: [Complete Python NumPy Tutorial](https://www.youtube.com/watch?v=GB9ByFAIAH4&t=210s)
- :file_folder: [Python Numpy Tutorial (with Jupyter and Colab)](https://cs231n.github.io/python-numpy-tutorial/)
- :file_folder: [100 numpy exercises](https://github.com/rougier/numpy-100)

# Pandas
- :newspaper: [10 minutes to pandas](https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html)
- :newspaper: [Intro to data structures](https://pandas.pydata.org/pandas-docs/stable/user_guide/dsintro.html)
- :newspaper: [Essential basic functionality](https://pandas.pydata.org/pandas-docs/stable/user_guide/basics.html)
- :newspaper: [IO tools](https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html)
- :newspaper: [Indexing and selecting data](https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html)
- :newspaper: [MultiIndex / advanced indexing](https://pandas.pydata.org/pandas-docs/stable/user_guide/advanced.html)
- :newspaper: [Merge, join, concatenate and compare](https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html)
- :newspaper: [Reshaping and pivot tables](https://pandas.pydata.org/pandas-docs/stable/user_guide/reshaping.html)
- :newspaper: [Working with text data](https://pandas.pydata.org/pandas-docs/stable/user_guide/text.html)
- :newspaper: [Duplicate Labels](https://pandas.pydata.org/pandas-docs/stable/user_guide/duplicates.html)
- :newspaper: [Categorical data](https://pandas.pydata.org/pandas-docs/stable/user_guide/categorical.html)
- :newspaper: [Nullable integer data type](https://pandas.pydata.org/pandas-docs/stable/user_guide/integer_na.html)
- :newspaper: [Nullable Boolean data type](https://pandas.pydata.org/pandas-docs/stable/user_guide/boolean.html)
- :newspaper: [Visualization using pandas](https://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html)
- :newspaper: [Computational tools](https://pandas.pydata.org/pandas-docs/stable/user_guide/computation.html)
- :newspaper: [Group by: split-apply-combine](https://pandas.pydata.org/pandas-docs/stable/user_guide/groupby.html)
- :newspaper: [Windowing Operations](https://pandas.pydata.org/pandas-docs/stable/user_guide/window.html)
- :newspaper: [Time series / date functionality](https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html)
- :newspaper: [Time deltas](https://pandas.pydata.org/pandas-docs/stable/user_guide/timedeltas.html)
- :newspaper: [Styling](https://pandas.pydata.org/pandas-docs/stable/user_guide/style.html)
- :newspaper: [Options and settings](https://pandas.pydata.org/pandas-docs/stable/user_guide/options.html)
- :newspaper: [Cookbook](https://pandas.pydata.org/pandas-docs/stable/user_guide/cookbook.html)

### More Resources
- :newspaper: [Learn Pandas Tutorials | Kaggle](https://www.kaggle.com/learn/pandas)
- :tv: [Python Pandas Tutorial](https://www.youtube.com/watch?v=jgrE0IlsZ0M)
- :tv: [Complete Python Pandas Data Science Tutorial](https://www.youtube.com/watch?v=vmEHCJofslg)
- :newspaper: [101 Pandas Exercises for Data Analysis](https://www.machinelearningplus.com/python/101-pandas-exercises-python/)
- :file_folder: [pandas_exercises](https://github.com/guipsamora/pandas_exercises)

# Matplotlib

### Matplotlib Official Tutorials
- :newspaper: [Sample plots in Matplotlib](https://matplotlib.org/2.2.2/tutorials/introductory/sample_plots.html#sphx-glr-tutorials-introductory-sample-plots-py)
- :newspaper: [Customizing Matplotlib with style sheets and rcParams](https://matplotlib.org/2.2.2/tutorials/introductory/customizing.html#sphx-glr-tutorials-introductory-customizing-py)
- :newspaper: [Styling with cycler](https://matplotlib.org/2.2.2/tutorials/intermediate/color_cycle.html#sphx-glr-tutorials-intermediate-color-cycle-py)
- :newspaper: [Legend guide](https://matplotlib.org/2.2.2/tutorials/intermediate/legend_guide.html#sphx-glr-tutorials-intermediate-legend-guide-py)
- :newspaper: [Specifying Colors](https://matplotlib.org/2.2.2/tutorials/colors/colors.html#sphx-glr-tutorials-colors-colors-py)
- :newspaper: [Annotations](https://matplotlib.org/2.2.2/tutorials/text/annotations.html#id23)

### Other Resources
- :newspaper: [Introduction to Matplotlib — Data Visualization in Python](https://heartbeat.fritz.ai/introduction-to-matplotlib-data-visualization-in-python-d9143287ae39)
- :newspaper: [Python Plotting With Matplotlib (Guide)](https://realpython.com/python-matplotlib-guide/)
- :newspaper: [Matplotlib Tutorial](https://www.tutorialspoint.com/matplotlib/index.htm)
- :newspaper: [Python Graph Gallery](https://python-graph-gallery.com/matplotlib/)
- :tv: [Python Matplotlib Tutorial | Edureka](https://www.youtube.com/watch?v=yZTBMMdPOww)
- :tv: [Matplotlib tutorial | Simplilearn](https://www.youtube.com/watch?v=OKJyGzgWP6c)

## To-Do
- [ ] Seaborn
- [ ] Exploratory Data Analysis (EDA)
- [ ] SQL
- [ ] Machine Learning Concepts
- [ ] Scikit-Learn
- [ ] Projects
- [ ] Translation in different language
- [ ] Cheatsheets

## FAQ
1. Which programming languages should I use?
Python and R. However, I added materials on Python.

2. How to contribute?
Check out [contribution guidelines](#contribution-guidelines).

## Contribution guideline
You can [open an issue](https://github.com/durgeshsamariya/data-science-roadmap/issues) 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.