ML Starter Pack - A Roadmap
Tags: python, machinelearning, ai, codenewbie
Published: 2022-08-05 14:49:03

### By Jayanti Goswami

Have you been hearing about how great Machine Learning is almost everywhere but aren't sure how to get started on it? All I can say is been there, done that.

But the good part about someone else's "been there, done that" is that there is a chance you may not have to be there. 

![Machine Learning Starter Pack](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ku3m2b94ddusopusagvf.png)
 
With this article, I want to bring to you everything you need to learn as you proceed to make ML models. From languages to modules, this is your perfect starter pack. 

So, let's dive right in.

## The base language

Like everything else in coding, you can do machine learning in any language you want. However, this branch is filled with complex stats and math. Wouldn't you want something that makes your life as easy as possible?

And that is exactly why people lean towards Python when doing ML. 

![Python programming](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m0tjtvaj13gls2bpogru.png)
 
Once you understand the basic processes involved, Python takes care of the rest. Modules you will want to understand completely are:

- Numpy
- Pandas
- Matplotlib
- SkLearn

These modules help you when dealing with matrices, data visualization, and large data sets. SkLearn even gives you various algorithms that you can customize according to your requirements to make simple models. 

## Concepts you need

Machine learning is largely based on hit and trial. As it tries to predict real life, the algorithms are highly experimental. 

So, there is no way of saying that the approach that works for situation A will work in situation B or not. 

However, there are still some basic algorithms and concepts that remain constant:
- Linear regression
- Neural networks
- Convolutional neural networks (CNN) 

![Linear regression in machine learning](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6p7o7o9igimqj97ldbov.png)
 
Linear regression uses approaches like the [gradient descent algorithm](https://github.com/crazycodigo/ML-Workshop-Day_Two) to find the right outputs. It is used for simple models that only use one input feature. Hence, linear regression is one of the first concepts you should grasp when starting machine learning.

![Neural networks in machine learning](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ujt3i5cnwok0mqbkeso8.png)

Neural networks are a stack of linear regressors that use various input features. They try to imitate the functioning of the human nervous system for making predictions. 

![CNN in machine learning](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cefizh1qevsacotcfu7p.png)
 
CNN is pretty much your final step. It is where you can deal with images and help your model learn more complex things. 

## Types of Machine Learning

There are primarily two kinds of ML models:
- Unsupervised learning
- Supervised learning
      - Classification
      - Regression

As a newbie in the world of ML, you should first start with supervised learning and make classification as well as regression models. 

![Supervised machine learning](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7r8si8hg2nufh5o84fpa.png)

Unsupervised learning is used for models that will be deployed in alien environments where there is no labeling possible. The model has to learn on the go and do the labeling work on its own. 

## Building your first ML model

Crazy Codigo recently got its first gig. We will be holding a workshop called Building your First ML Model and is on behalf of a tech-ed company called [iNeuron](https://ineuron.ai/).

![Building Your First ML Model](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/964igyzllmty0wrjvm55.png)
 
If you signed up for it, then we will see you there! 

However, if you missed it for some reason, you can join our [Discord community](https://discord.gg/nyHHW5nmVp) as this is definitely only the first of many such sessions to come.

That's it for this blog. Cya!

~ J