Machine Learning Roadmap for Beginners ( If you have a Non-CS background like me😉)
Tags: machinelearning, datascience, python, deeplearning
Published: 2024-06-17 18:37:34

So, you’re a non-CS background student like me, trying hard to switch to the machine learning/data science field because you see how the world is moving towards AI. To be honest, there is nothing wrong with your thinking.

Back in my second year of university, I also realized that there were very few opportunities in the subject I was studying. I couldn’t get the opportunities, flexibility, and of course, salaries that I wanted in that field. So, I started to explore other fields with bright futures and opportunities.

I decided to move to the data science field, finished a 5-month-long online course, and now I’m doing my last year thesis using the machine learning skills I have learned so far.

Let’s be honest, data science/ML is a combination of coding, statistics, math, communication, and understanding business problems. If you’re preparing for a job right now, you need to learn both soft and hard skills. But if you’re a student and want to start learning ML right now, my suggestion is to focus on learning the hard skills (coding, math, doing projects, business theories).

I will be writing this blog for students like me who are planning to learn ML alongside their academic studies and apply these skills in their field so that after graduation they can move to the DS/ML field completely.

So, let's start...!

### Stage 1: Coding 👨‍💻

You need to start with a programming language. Python and R are the most popular languages in the data science field. You can go with either of them, but my suggestion is to go with Python. Python is really easy to learn and there is nothing that cannot be done with Python—web development, app development, data analysis. Python is like a One-Man Army! I totally love Python.

**Topics:**
- Variables, Numbers, Strings
- Lists, Dictionaries, Sets, Tuples
- If conditions, For loops
- Functions, Lambda Functions
- Modules (pip install)
- Read, Write files
- Exception handling
- Classes, Objects

These basic topics are enough for beginners to move to the next stage.

### Stage 2: Data Analysis and Visualization 📊

Learn:
- Numpy
- Pandas
- Data Visualization Libraries (Matplotlib and Seaborn)

### Stage 3: Math, Statistics for Machine Learning 📐

**Topics to Learn:**
- **Basics:** Descriptive vs. inferential statistics, continuous vs. discrete data, nominal vs. ordinal data
- **Linear Algebra:** Vectors, Matrices, Eigenvalues, and Eigenvectors
- **Calculus:** Basics of integral and differential calculus
- **Basic Plots:** Histograms, pie charts, bar charts, scatter plots, etc.
- **Measures of Central Tendency:** Mean, median, mode
- **Measures of Dispersion:** Variance, standard deviation
- **Probability Basics**
- **Distributions:** Normal distribution
- **Correlation and Covariance**
- **Central Limit Theorem**
- **Hypothesis Testing:** p-value, confidence interval, type 1 vs. type 2 error, Z-test

### Stage 4: Exploratory Data Analysis (EDA) 🔍

Time for projects! Use the skills you have learned so far and do some data analysis projects. EDA is extremely important in machine learning as it is necessary for data preprocessing. For datasets, go to Kaggle.

### Stage 5: Machine Learning 🤖

**Machine Learning: Preprocessing**
- Handling NA values, outlier treatment, data normalization
- One hot encoding, label encoding
- Feature engineering
- Train-test split
- Cross-validation

**Machine Learning: Model Building**
- **Types of ML:** Supervised, Unsupervised
- **Supervised:** Regression vs. Classification
  - Linear models: Linear regression, logistic regression, gradient descent
  - Nonlinear models (tree-based models): Decision tree, Random forest, XGBoost
- **Model Evaluation**
  - Regression: Mean Squared Error, Mean Absolute Error, MAPE
  - Classification: Accuracy, Precision-Recall, F1 Score, ROC Curve, Confusion matrix
- **Hyperparameter Tuning:** GridSearchCV, RandomSearchCV
- **Unsupervised:** K-means, Hierarchical clustering, Dimensionality reduction (PCA)

Do at least 2 end-to-end machine learning projects and deployment.

For deployment, you can use Streamlit. For advanced learning, you must learn Python web development frameworks—Flask, FastAPI, Django. I suggest FastAPI.

---

That’s it! Now you have enough skills to start doing projects and learn further on your own. Some of you may ask, "Shemanto, you didn't write about SQL, MLOps, and other advanced Python concepts." You’re right, I didn’t write them on purpose.

You see, ML skill is specific knowledge. You cannot learn it just by watching tutorials. You have to spend less time consuming information and more time:
- Digesting
- Implementing
- Sharing

If you keep doing this, you can find out other stuff on your own. I just shared 5 stages that are easy to start with, and I think that is enough for a beginner to say, "I have machine learning skills."

**Keep Learning!** 🚀

**🔗[Let's Connect on LinkedIn](https://www.linkedin.com/in/shemanto/)**