Student Performance Prediction is an end-to-end Machine Learning project that predicts a student's exam score based on academic, personal, and environmental factors.
This project demonstrates the complete machine learning workflow, including:
- π Data Collection
- π§Ή Data Cleaning & Preprocessing
- π Exploratory Data Analysis (EDA)
- π Data Visualization using Matplotlib
- π€ Machine Learning Model Training
- π Model Evaluation
- πΎ Model Saving using Joblib
- π Interactive Web Application using Streamlit
Educational institutions often face challenges in understanding which factors most significantly influence student academic performance.
This project aims to:
- Analyze student performance factors
- Identify relationships between features
- Predict student exam scores
- Provide an interactive prediction system
The dataset contains multiple features affecting student performance, including:
- Hours Studied
- Attendance
- Previous Scores
- Sleep Hours
- Motivation Level
- Teacher Quality
- Internet Access
- Family Income
- School Type
- Gender
- Parental Involvement
- Physical Activity
- Distance from Home
- Learning Disabilities
- Access to Resources
Target Variable
Exam_Score
- Python
- Pandas
- NumPy
- Matplotlib
- Scikit-Learn
- Joblib
- Streamlit
- Jupyter Notebook
- VS Code
- Git & GitHub
Student_Performance_Project/
β
βββ app.py
βββ README.md
βββ requirements.txt
βββ .gitignore
β
βββ data/
β βββ StudentPerformanceFactors.csv
β βββ student_clean.csv
β
βββ models/
β βββ student_performance_model.pkl
β βββ feature_names.pkl
β
βββ notebooks/
β βββ analysis.ipynb
β
βββ outputs/
β βββ graphs/
β
βββ screenshots/
β
βββ src/
βββ preprocess.py
βββ train.py
βββ predict.py
Dataset
β
βΌ
Data Cleaning
β
βΌ
Exploratory Data Analysis
β
βΌ
Feature Engineering
β
βΌ
Train-Test Split
β
βΌ
Random Forest Regressor
β
βΌ
Model Evaluation
β
βΌ
Model Saving
β
βΌ
Prediction
β
βΌ
Streamlit Web App
The project includes multiple visualizations using Matplotlib to understand the data and identify important trends.
β Random Forest Regressor
- High prediction accuracy
- Handles non-linear relationships
- Robust against overfitting
- Works well on tabular datasets
- Provides feature importance
The model is evaluated using:
- Mean Absolute Error (MAE)
- Mean Squared Error (MSE)
- Root Mean Squared Error (RMSE)
- RΒ² Score
The project also includes an interactive web application built using Streamlit.
- Enter student information
- Predict exam score instantly
- Clean and responsive interface
- Machine learning powered prediction
(Add screenshot)
screenshots/home.png
(Add screenshot)
screenshots/result.png
Clone the repository
git clone https://github.com/pratimaasapkota/Student-Performance-Prediction.gitMove into the project directory
cd Student-Performance-PredictionInstall dependencies
pip install -r requirements.txtTrain the model
python src/train.pyRun prediction
python src/predict.pyLaunch the Streamlit application
streamlit run app.py- Hyperparameter tuning
- Compare multiple ML models
- Batch prediction using CSV upload
- Online deployment with Streamlit Community Cloud
- SHAP/LIME explainability
- Advanced dashboard with Plotly
- User authentication
This project helped me gain practical experience in:
- Data Cleaning
- Exploratory Data Analysis (EDA)
- Data Visualization
- Feature Engineering
- Machine Learning
- Model Evaluation
- Streamlit Application Development
- End-to-End ML Pipeline
- Git & GitHub Workflow
Computer Engineering Student
- Artificial Intelligence
- Machine Learning
- Data Science
- Deep Learning
- Full Stack Development
If you found this project useful, please consider giving it a β on GitHub.
It motivates me to build more AI and Machine Learning projects!








