##END TO END MACHINE LEARNING PROJECT
The Student Exam Performance Predictor is a machine learning-based web application that predicts a student’s Maths exam score based on demographic data, parental education, test preparation, and performance in other subjects (Reading and Writing). This project demonstrates end-to-end ML workflow, from data preprocessing and model training to deployment as a Flask web app.
-
Predicts Maths scores based on:
- Gender
- Race/Ethnicity
- Parental level of education
- Lunch type
- Test preparation course
- Writing and Reading scores
-
Simple and intuitive web interface built with Flask
-
Real-time predictions
-
Input validation for accurate results
The app uses the Students Performance Dataset from Kaggle, which contains:
| Feature | Description |
|---|---|
| Gender | Student’s gender (male/female) |
| Race/Ethnicity | Group classification (A–E) |
| Parental Level of Education | Highest parental education level |
| Lunch | Standard or free/reduced |
| Test Preparation Course | Completed or none |
| Reading Score | Score out of 100 |
| Writing Score | Score out of 100 |
| Maths Score | Score out of 100 (Target variable) |
Source: Kaggle: Students Performance Dataset
- Model type: Regression model (Random Forest / XGBoost / Linear Regression)
- Target variable: Maths Score
- Features: All other columns except Maths score
- Evaluation Metrics: MAE, RMSE, R² Score
- Clone the repository
git clone https://github.com/AnjaliSinghhhh/mlproject.git
cd mlproject- Create a virtual environment
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows- Install dependencies
pip install -r requirements.txt- Run the Flask app
python app.py- Open the app in browser
http://127.0.0.1:5000/predictdata
- Open the web app.
- Select your Gender, Race, Parental Education, Lunch type, and Test Preparation Course.
- Enter Writing and Reading scores.
- Click "Predict your Maths Score" to get the predicted Maths score instantly.
- Demonstrates data preprocessing, model training, and deployment.
- Shows ability to build interactive ML applications.
- Highlights knowledge of regression modeling, feature engineering, and evaluation.
- Ready to showcase in ML portfolios or interviews.
- Add predictions for all subjects.
- Include visualizations for predicted vs actual scores.
- Deploy on Heroku or AWS for public access.
- Implement model comparison (Random Forest vs XGBoost vs Linear Regression).
- Python 3.x
- Flask
- Scikit-learn / XGBoost
- Pandas / NumPy
- HTML/CSS (Bootstrap optional)
