I often see many questions by people (mostly self-learners) newly coming into this grossing field that “how can we start to learn Machine Learning?” and “What is the curriculum that every self-learner must follow?”.

I already created a separate post for how can I learn machine learning? and this is the post for second question i.e. what is the curriculum of machine learning for self-learners?

There are plenty of curriculums already made over the internet but I connected with various data scientists in my connections having rich experience in this field.

So after summing up all of the discussion. I am creating this curriculum for you. You can follow that in order to master machine learning.

**Note:** This covers only Machine Learning not deep learning

I have divided the curriculum into three levels.

- Level 1 (Complete Novice).
- Level 2 (Knows Mathematics but not Data Science basics).
- Level 3 (Knows Mathematics, Data Science basics but not ML).

According to your level of expertise you can iterate between different levels accordingly.

I am specifying a high-level curriculum for Level 1 and Level 2. As it is the prerequisites required for learning machine learning.

## Level 1:

The first level involves learning mathematics.

**Learning Mathematics:**

- Linear Algebra
- Calculus
- Probability and Statistics

If you are wondering where to learn. Please follow this [Link]

## Level 2:

The second level involves learning Data Science.

For additional resources , Please follow this [Link]

## Level 3

Machine Learning Curriculum

- Importing the Dataset + Practice
- Exploratory Data Analysis + Practice
- Data Preprocessing + Practice
- Handling Missing Data + Practice
- Feature Scaling and Selection + Practice
- Scikit Learn Library
- Bias Variance Tradeoff
- Introduction to Supervised Learning + Practice
- Linear Regression with one variable + Practice
- Linear Regression with multiple variables and Regularization + Practice
- SVMs + Practice
- Logistic Regression + Practice
- Naive Bayes + Practice
- Decision Tree + Practice
- Introduction to Ensembles + Practice
- Random Forests + Practice
- K-Nearest Neighbour + Practice
- PCA + Practice
- Introduction Unsupervised Learning
- Clustering – DBScan, KMeans + Practice
- Cross-Validation and Grid Search CV + Practice
- Stochastic Gradient Descent for Classification and Regression + Practice
- Time Series Analysis + Practice
- Bagging and Boosting Techniques + Practice
- XGBoost, CATBoost, LighGBM + Practice
- Kaggle Ex-Competition Practice

References: [SciKit Learn Documentation]

I will post the series of Intuitions and Jupyter notebooks in upcoming posts using the prefix “ML-Series” or you can also find them by looking into the category “Machine Learning Series”. Stay Tuned for more updates.

If you have any queries or suggestions, please feel free to drop a comment below.

bhavesh, Direct link to commentVery Informative Article

Gaurav Bhardwaj, Direct link to commentThanks Bhavesh ! Glad you liked it 🙂

Chandra Sekhar, Direct link to commentHi Gaurav you posted Machine Learning Curriculum from where i can learn all these topics or concepts can you provide the link for all the topics

Gaurav Bhardwaj, Direct link to commentHey Chandra Sekhar, Please follow topics listed in following link

https://ittwist.com/blog/roadmap-how-to-learn-machine-learning-quickly/

Chandra Sekhar, Direct link to commentHow to handle Positively skewed data or Negatively skewed data and if there are more null values and if we delete it other data is also getting, please suggest solution

Gaurav Bhardwaj, Direct link to commentHi Chandra,

For handling skewness,You can apply transformation like log transformation or even square root transformation.If there are null values, you can always fill it with mean,median or more. Also you can predict the null values using simple linear regression. Hope this help you.

I am also going to start a new machine learning series from scratch till deployment, after my django series on this link Link to My Channel

Chandra Sekhar, Direct link to commentin KNN if k=4 and we get 2 neighbours belonging to True class and 2 neighbours belonging to False class, then what should we do

Chandra Sekhar, Direct link to commentHi, Gaurav you provided Machine Learning Curriculum along with that can you provide link to learn all the topics

Chandra Sekhar, Direct link to commentThank you Gaurav, these particular points are really helpful, but are there any particular conditions where we can use mean, median, mode? and coming to your channel that’s great to have ML series from start to end and people like me will be desperately waiting for such stuff, it is like pouring milk on our head all the best to you and i also subscribed your channel

Can you tell me what is the effect of covid19 on ML jobs can we get jobs or will it take time

Chandra Sekhar, Direct link to commentHow to handle missing values in Categorical data