This project predicts a student's Mathematics score based on demographic and academic factors such as gender, race/ethnicity, parental education level, lunch type, test preparation course, reading score, and writing score.
The project was built following an end-to-end MLOps workflow, covering data ingestion, preprocessing, model training, model evaluation, deployment, containerization, CI/CD automation, and cloud deployment on AWS.
- Data Ingestion Pipeline
- Data Transformation Pipeline
- Model Training Pipeline
- Prediction Pipeline
- Flask Web Application
- Docker Containerization
- CI/CD Automation using GitHub Actions
- AWS ECR Integration
- AWS EC2 Deployment
- Automated Deployment Pipeline
- Python
- Pandas
- NumPy
- Scikit-Learn
- Flask
- Docker
- GitHub Actions
- AWS EC2
- AWS ECR
- Git
- GitHub
| Model | Performance |
|---|---|
| Linear Regression | ~88% R² Score |
Linear Regression was selected as the final production model after evaluating multiple machine learning algorithms.
Dataset
│
▼
Data Ingestion
│
▼
Data Transformation
│
▼
Model Training
│
▼
Model Selection
│
▼
Prediction Pipeline
│
▼
Flask Application
│
▼
Docker Container
│
▼
Amazon ECR
│
▼
Amazon EC2
│
▼
End Users
Implemented a complete CI/CD pipeline using GitHub Actions.
Workflow:
- Push code to GitHub
- Build Docker Image
- Push Image to Amazon ECR
- Connect to AWS EC2
- Pull Latest Docker Image
- Restart Container
- Deploy Updated Application
The application is deployed using:
- Amazon EC2
- Amazon ECR
- Docker
- GitHub Actions
Deployment is fully automated through CI/CD workflows.
src/
├── components/
│ ├── data_ingestion.py
│ ├── data_transformation.py
│ └── model_trainer.py
│
├── pipeline/
│ ├── train_pipeline.py
│ └── predict_pipeline.py
│
├── exception.py
├── logger.py
└── utils.py
templates/
├── home.html
└── index.html
artifacts/
├── model.pkl
└── preprocessor.pkl
git clone <repo-url>
cd ML_PROJECT2
pip install -r requirements.txt
python app.py- Model Monitoring
- MLflow Integration
- Kubernetes Deployment
- Automated Retraining Pipeline
- Cloud Monitoring and Logging
Sankalp Makol
Machine Learning | MLOps | Software Development





