# Week 2 : ML Development Life Cycle

Similar to software development where we follow Software Development Life Cycle (SDLC) to build new software, We follow Machine Learning Development Life Cycle (MLDLC) to develop machine learning models. These processes make development easier and easy to follow.

MLDLC steps are following:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1746960435925/e5f6123b-8bdd-4d35-b52c-0cb5b5b48205.png align="center")

1. **Defining the problem :** most necessary step in machine learning development is to define the problem so you can define parameters and working according to it.
    
2. **Data gathering :** For machine learning quality data is a very big need, So gathering data for machine learning becomes a big priority you can gather data for machine learning through *scraping other websites, APIs, Open source data sets, data collection, and Data mining* etc.
    
3. **Data preprocessing :** Quality of data is as important as the quantity of data and the we gather can have some issues like null values, duplicate values, wrong data type, outliers etc. To get rid of these issues we do preprocessing on the data we gather. We use Python Pandas and Numpy to process the data.
    
4. **Exploratory Data analysis(EDA) :** To train the model we first need to understand some common trends and structure of data it’s like reading a map before going on a journey so you can plan your journey ahead and prepare for potential roadblocks. EDA is combination of statistical analysis and visualisation.
    
    We use tools like Numpy, Matplotlib, and Seaborn for EDA.
    
5. Splitting the data into training and testing data.
    
6. **Feature Engineering :** Feature Engineering is the process of creating new features or transforming existing features to improve the performance of a machine-learning model. It involves selecting relevant information from raw data and transforming it into a format that can be easily understood by a model. The goal is to improve model accuracy by providing more meaningful and relevant information.
    
7. **Model training :** Model training the crucial step where we were leading up to in all these steps, here we finally train our model on the algorithm that we choose according to the problem. We use tools like Scikit- learn to train the model.
    
8. **Evaluating and Fine tuning :** After training the model we test the model on the parameters that we set in the first step and if the model is off that than fine tuning the model to our desired result.
    
9. **Deployment :** To use the model in the real world we need to first deploy the model somewhere for the deployment we typically use tools like AWS and Azure but we can deploy the model on our personal machine too.
    
10. **Monitoring and retraining :** After deployment we have to monitor the model on its responses and check for errors and in presence of new data we have to retrain the model.
