STUDENT PERFORMANCE PREDICTOR
A Machine Learning-based application that predicts a student's exam score (0–100) based on academic and lifestyle factors.
OVERVIEW
This project analyzes factors like study hours, attendance, mental health, sleep duration, and part-time job status to predict student performance using a trained ML model.
It provides:
- Command Line Interface (CLI)
- Interactive Web App (Streamlit)
FEATURES
- Predicts student exam score (0–100)
- Machine Learning-based prediction
- Interactive Streamlit UI
- CLI-based execution
- Easy and user-friendly interface
TECH STACK
- Python
- NumPy
- Pandas
- Scikit-learn
- Streamlit
INPUT PARAMETERS
- Study Hours per Day
- Attendance Percentage
- Mental Health Rating (1–10)
- Sleep Hours per Night
- Part-Time Job (Yes/No)
HOW IT WORKS
- User inputs data (via CLI or UI)
- Data is preprocessed (encoding, formatting)
- Input is passed to trained ML model (best_model.pkl)
- Model predicts exam score
- Output is displayed to user
HOW TO RUN
Run CLI Version: python main.py
Run Web App: streamlit run app.py
PROJECT STRUCTURE
student-performance-predictor/
- app.py (Streamlit UI)
- main.py (CLI version)
- best_model.pkl (Trained ML model)
- notebook.ipynb (Model training)
- README.txt
- report.pdf
MY CONTRIBUTION
- Implemented ML prediction system
- Built CLI-based prediction program
- Developed interactive Streamlit web app
- Applied data preprocessing and model integration
NOTE
This project was developed as part of my machine learning learning journey and while assisting a peer academically. It demonstrates practical understanding of ML concepts and real-world implementation.
FUTURE IMPROVEMENTS
- Improve model accuracy
- Add more input features
- Deploy as a live web application
- Add performance visualization graphs
DATASET
- Source: Kaggle
- Contains student lifestyle and academic data
CONCLUSION
This project demonstrates how machine learning can be used to predict student performance based on academic and lifestyle factors, helping in better decision-making.
SUPPORT
If you like this project, give it a star on GitHub!