A machine learning web app that predicts student performance based on demographic and academic features.
Phishing URL Detector
Student Performance Predictor is a machine learning web application that estimates a student’s likely academic performance based on demographic and educational inputs. Built using Python and Flask, the app integrates a complete ML pipeline — from data preprocessing and model training to real-time prediction and deployment. The model leverages various regression algorithms (including Random Forest, XGBoost, and CatBoost) to accurately predict scores in math, reading, and writing. The application was deployed using GitHub Actions for CI/CD and hosted on Azure App Service, showcasing a full end-to-end MLOps workflow. This project demonstrates practical knowledge of machine learning, data preprocessing, web development, and cloud deployment.
Tech Stack
Python, Scikit-learn, Flask, HTML/CSS, GitHub Actions, Azure App Service, Jupyter Notebooks
What It Does:
✅ Modular data pipelines for ingestion, transformation, and training
✅ Multiple ML models (Random Forest, CatBoost, XGBoost, etc.)
✅ A Flask web app for user-friendly predictions
✅ Custom logging system for tracking each step of the pipeline
✅ Automated CI/CD deployment via GitHub Actions
Project Structure
│
├── .github/
│ └── workflows/
│ └── main_studentperformancepredictor.yml
│
├── artifacts/
│ ├── model.pkl
│ ├── preprocessor.pkl
│ ├── train.csv
│ ├── test.csv
│
├── data/
│ └── students.csv
│
├── notebook/
│ ├── 1. EDA STUDENT PERFORMANCE.ipynb
│ ├── 2. MODEL TRAINING.ipynb
│
├── src/
│ ├── components/
│ │ ├── data_ingestion.py
│ │ ├── data_transformation.py
│ │ └── model_trainer.py
│ │
│ ├── pipeline/
│ │ ├── train_pipeline.py
│ │ └── predict_pipeline.py
│ │
│ ├── utils.py
│ ├── logger.py
│ └── exception.py
│
├── templates/
│ ├── home.html
│ └── index.html
│
├── application.py
├── requirements.txt
├── setup.py
├── .gitignore
└── README.md