STUDENT PERFORMANCE PREDICTION WEB APP
This project is a Flask web application that predicts student performance based on demographic and academic features. Users can input student information via a web form, and the app predicts the expected performance score using a trained machine learning model.
PROJECT OVERVIEW--------------------------------------------------------------------------------------
The application consists of a frontend for user input and a backend pipeline for prediction:
FRONTEND
Built using Flask templates (index.html and home.html).
Accepts user input for:
Gender
Race/Ethnicity
Parental level of education
Lunch type
Test preparation course
Reading and Writing scores
BACKEND
Collects input data and converts it into a pandas DataFrame using the CustomData class.
Feeds the DataFrame to the PredictPipeline, which uses a trained model to generate predictions.
Returns the prediction to the user via the web interface.
HOW IT WORKS-------------------------------------------------------------------------------
User Interaction
The user visits the web page and fills out the form with student data.
Upon submission, the form sends data to the /predictdata route.
Data Processing
The CustomData class collects the input and transforms it into a structured DataFrame.
The PredictPipeline loads the trained model and preprocessors to make predictions.
PREDICTION------------------------------------------------------------------------------------
The pipeline returns the predicted score or performance category.
The app renders the result on the home.html page.
PROJECT STRUCTURE------------------------------------------------------------------------------
project_root/
│
├── src/
│ ├── pipeline/
│ │ ├── predict_pipeline.py # CustomData and PredictPipeline classes
│ │ └── model.pkl # Trained machine learning model
│
├── templates/
│ ├── index.html # Landing page
│ └── home.html # Prediction form and result display
│
├── app.py # Flask application
└── README.md
HOW TO RUN-------------------------------------------------------------------------------------
Clone the repository:
git clone <repo_url> cd <project_root>
Install dependencies:
pip install -r requirements.txt
Run the Flask app:
python app.py
Open your browser and navigate to:
FEATURES------------------------------------------------------------------------------------------
Predicts student performance based on demographic and academic input.
Easy-to-use web interface for data entry.
Modular pipeline design (CustomData and PredictPipeline) for maintainability.
Provides real-time predictions with minimal latency.