This machine learning project focuses on building and training an artificial neural network using PyTorch to predict students' performance in secondary education from attributes including student grades, demographic, social and school related features. Data for this project was collected from UC Irvine Machine Learning Repository and was preprocessed using pandas, numpy and scikit-learn. A transformation pipeline was built to handle categorical and numerical transformation conveniently. A Feed-Forward-Network was designed using linear and batch normalization layers. The trained scikit-learn transformers and network parameters were saved for later use. The model is deployed as a web service on Streamlit Community Cloud and can be accessed by anyone with the link for free.
- The training and test loss curves are both decreasing over time, which indicates that the model is learning.
- The training and the test losses are close to each other and the former is below the latter, which indicates that the model is not overfitting to the training data.
- The test loss is relatively low, which indicates that the model is able to generalize well to unseen data.
The model is hosted as a free web service on Streamlit Community Cloud and can be accessed through this link: Predict student's performance in secondary education using AI.
Alternatively, you can run the web application locally by following these steps:
- Choose a project directory on your local machine (e.g., C:\Users\yourname\projects).
- Clone this repository by typing the following command in your terminal:
(Note: If you're on Windows, you could use 'Git Bash' instead of 'cmd' for executing git commands).
git clone git@github.com:shre-db/Student-Performance-ML.git - Before proceeding, make sure you have a Python interpreter installed (recommended version is Python 3.7+). Ensure that Python is added to the PATH environment variable during installation.
- Open a terminal (e.g., 'cmd' on Windows) and navigate to the project directory (e.g., C:\Users\yourname\projects).
- Create a virutal environment by running the following command:
python -m venv student - Install dependencies by executing this command:
pip install -r requirements.txt - Once all the dependencies are installed, run the web application locally with the following command:
streamlit run app.py
If you have followed the instructions correctly, a new tab should open in your default web browser.
- Cortez,Paulo. (2014). Student Performance. UCI Machine Learning Repository. https://doi.org/10.24432/C5TG7T.

