Skip to content

Vinay-Rai/Student-Marks-Prediction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Student Marks Prediction | End-to-End Machine Learning Project

A complete, production-grade Machine Learning pipeline — from data ingestion to deployment on AWS. This project demonstrates how real-world ML systems are built with clean architecture, scalability, and maintainability in mind.


📌 Project Overview

Student Marks Prediction is a complete end-to-end Machine Learning project designed to predict student performance based on various input features. The project focuses on building a production-ready ML system with proper architecture, pipelines, and deployment.


🧠 Key Learnings

✔ How to structure a scalable ML project
✔ Writing clean, maintainable, modular code
✔ Building reusable pipelines (data + model)
✔ Handling exceptions and logging professionally
✔ End-to-end deployment workflow
✔ Industry-level ML engineering practices


🏗️ Project Architecture

project_root/
│
├── artifacts/              # Saved models, processed datasets
├── catboost_info/         # CatBoost training logs & metadata
├── notebook/              # EDA & experimentation notebooks
├── src/
│   ├── components/        # Core ML components
│   │   ├── data_ingestion.py
│   │   ├── data_transformation.py
│   │   ├── model_trainer.py
│   │
│   ├── pipelines/         # Training & prediction pipelines
│   │   ├── training_pipeline.py
│   │   ├── prediction_pipeline.py
│   │
│   ├── utils/             # Helper utilities
│   ├── exception.py       # Custom exception handling
│   ├── logger.py          # Logging configuration
│
├── templates/             # HTML templates (for web app UI)
├── app.py                 # Application entry point (prediction service)
├── requirements.txt       # Project dependencies
├── setup.py               # Package setup configuration
├── .gitignore             # Ignored files
└── README.md              # Project documentation

⚙️ Workflow Breakdown

1. Data Ingestion

  • Reads raw dataset
  • Splits into train/test
  • Stores artifacts

2. Data Transformation

  • Handles missing values
  • Feature engineering
  • Pipeline creation using Scikit-learn

3. Model Training

  • Trains multiple models
  • Evaluates performance
  • Selects the best model

4. Hyperparameter Tuning

  • Improves model performance
  • Uses GridSearchCV / RandomSearch

5. Prediction Pipeline

  • Loads trained model
  • Accepts user input
  • Outputs predictions

🧪 Tech Stack

  • Python
  • Scikit-learn
  • Pandas, NumPy
  • AWS Elastic Beanstalk

🚀 Deployment

Deployed using AWS Elastic Beanstalk.

eb init
eb create
eb deploy

🛠️ Installation & Setup

git clone https://github.com/Vinay-Rai/mlproject.git
cd project

python -m venv venv
source venv/bin/activate
venv\Scripts\activate

pip install -r requirements.txt

▶️ Run the Project

python app.py

📊 Future Improvements

  • Add CI/CD pipeline
  • Integrate Docker
  • Improve model performance
  • Add frontend UI

⭐ Final Note

This project demonstrates how to build a real-world ML system, not just a model.

About

Production-ready ML pipeline for student marks prediction with data ingestion, transformation, model training, and AWS deployment.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors