A machine learning–powered web app that predicts whether a student will pass or fail based on demographic, educational, and test-related factors. The app uses a trained classifier model and applies proper feature encoding to deliver accurate predictions with confidence scores.
- ✔️ Predicts Pass / Fail
- ✔️ Shows confidence percentage
- ✔️ Uses trained ML model (student_model.pkl)
- ✔️ Encodes categorical features using mapping + saved columns
- ✔️ Smooth, modern UI with a soft pink academic theme
- ✔️ Fast predictions using Streamlit
- Gender
- Ethnicity
- Parental education
- Lunch type
- Test preparation course
- Math, Reading, Writing scores
- Categorical encoding using label maps
- Ensuring training and inference columns match (model_columns.pkl)
- Handling feature order
- No missing data during prediction because missing fields are filled with default zeroes
- Model type: Binary Classification (Pass / Fail)
- Preprocessing & training done inside the Jupyter Notebook
- Saved as student_model.pkl
- 🔍 Pass/Fail prediction
- 📊 Confidence score (probability)
- Clean success/error messages
- Python
- Streamlit
- Pandas
- Scikit-Learn
- Pickle
- NumPy
git clone https://github.com/your-username/your-repo-name.git
cd your-repo-namepython -m venv venvvenv\Scripts\activatesource venv/bin/activatepip install -r requirements.txtstreamlit run app.py│── app.py # Streamlit web app
│── Student Performance Prediction.ipynb # Model training notebook
│── Expanded_data_with_more_features.csv # Dataset
│── student_model.pkl # Trained ML model
│── model_columns.pkl # Correct column order for inference
│── requirements.txt
└── README.mdAvailable on Kaggle : https://www.kaggle.com/datasets/desalegngeb/students-exam-scores
