Skip to content

shre-db/Student-Performance-ML

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Student Performance

Cover-Image

Introduction

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.

Results

MSE-Loss-Plot

  • 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.

Usage

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:

  1. Choose a project directory on your local machine (e.g., C:\Users\yourname\projects).
  2. Clone this repository by typing the following command in your terminal:
    git clone git@github.com:shre-db/Student-Performance-ML.git
    
    (Note: If you're on Windows, you could use 'Git Bash' instead of 'cmd' for executing git commands).
  3. 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.
  4. Open a terminal (e.g., 'cmd' on Windows) and navigate to the project directory (e.g., C:\Users\yourname\projects).
  5. Create a virutal environment by running the following command:
    python -m venv student
    
  6. Install dependencies by executing this command:
    pip install -r requirements.txt
    
  7. 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.

References

  1. Cortez,Paulo. (2014). Student Performance. UCI Machine Learning Repository. https://doi.org/10.24432/C5TG7T.

About

An FFN to predict student performance in secondary education.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors