- This project aims to predict student performance using various machine learning algorithms.
- The model takes into account several factors such as demographics, test scores, and parental education levels to provide accurate predictions of students' academic performance in mathematics.
The following regression models have been implemented in this project:
Decision Tree Regressor
: A tree-based model that captures non-linear relationships.Random Forest Regressor
: An ensemble of decision trees that enhances prediction accuracy and reduces overfitting.Gradient Boosting Regressor
: Builds trees sequentially to correct errors from previous trees.Linear Regression
: Establishes a linear relationship between input features and the target variable.XGBoost Regressor
: An efficient gradient boosting model known for its speed and performance.CatBoost Regressor
: Specifically designed to handle categorical features effectively.AdaBoost Regressor
: Focuses on improving weak learners to create a strong predictive model.
- Parent/Teacher/Student can Predict their Math score by entering their details
- Easy to use UI
- WebAPP is trained in all the mentioned Models and selects the best model with highest Accuracy.
- Adapts to Modular Programming for better code management and revision
- Uses Logging to track the entire workflow
- Custom Exception Handling to handle the abnormal actions correctly
- Python
- pandas
- numpy
- seaborn
- matplotlib
- scikit-learn
- catboost
- xgboost
- dill
- flask
- flask_cors
- Jupyter Notebook
- GIT and Github
- Flask
- Azure (for Deployment)
To set up the project, follow these steps:
git clone https://github.com/mShubham18/Student-Performance-Predictor.git
cd Student-Performance-Predictor
python -m venv venv
# for macOS/Linux
source venv/bin/activate
# On Windows use `venv\Scripts\activate`
Run the application:
python app.py # to run Flask App
-
Open a web browser and go to
http://127.0.0.1:5000
orhttp://127.0.0.1:5500
to access the application. -
Fill in the required fields with the student data and click on the Predict button to get the predicted math score.
- Remove the comment from
#-e
in therequirements.txt
file to build the packages - While deploying to Azure cloud, make sure to use
Python 3.12
as runtime stack - Currently Web App can be tried at : https://studentperformancepredictor.azurewebsites.net/
- NOTE: working of the link is subjected to availability
Contributions are welcome! If you have suggestions for improvements or additional features, please fork the repository and submit a pull request.
That's it folks, Happy Learning :)