This project predicts students' math scores. It covers the entire process from data ingestion and transformation, to model training and deployment.
- Conda: For environment management.
- Git: Version control.
- MySQL: Database.
- GitHub: Code hosting.
- DVC: Data version control.
- MLflow: Model lifecycle management.
- Flask: Model Deployment.
- Dagshub: Data and experiment management.
- AWS CodePipeline: Continuous integration and delivery service for fast and reliable application and infrastructure updates.
- AWS Elastic Beanstalk: Easy-to-use service for deploying and scaling web applications and services.
- app.py: Flask application script for deploying the model using flask and handling user inputs.
- application.py: Flask application script for deploying the model on AWS Elastic Beanstalk.
- prediction_pipeline.py: Scripts for making predictions based on user input.
- data_ingestion.py: Scripts for data ingestion and preprocessing.
- data_transformation.py: Scripts for data transformation.
- model_trainer.py: Scripts for model training.
- notebooks: Jupyter notebooks for analysis and model training experimentation.
- utils.py: Utility scripts.
- requirements.txt: Project dependencies.
- artifacts: Stores generated artifacts such as model performance reports and trained models.
-
Clone the repository:
git clone https://github.com/ajitmane36/End-to-End-Student-Math-Score-Prediction-with-Deployment.git cd mlproject
-
Create a Conda environment:
conda create --name student-performance python=3.9 conda activate student-performance
-
Install dependencies:
pip install -r requirements.txt
-
Run the Flask application:
python app.py
-
Navigate to the application in your browser:
# Home Page http://127.0.0.1:5000 # Prediction Page http://127.0.0.1:5000/predictdata
-
Home Page:
- Access the home page to enter student data.
- Submit the form to get predicted math scores.
-
Prediction Pipeline:
- Handles user input and processes it through the trained model to provide predictions.