Welcome to the Student Performance Analysis and Test Score Prediction project! Education is a multifaceted journey influenced by various factors, and understanding these dynamics is crucial for fostering an inclusive and effective learning environment. This project aims to unravel the intricate relationship between student performance and key variables such as Gender, Ethnicity, Parental Level of Education, Lunch Type, and Test Preparation Course.
The dataset for this project is sourced from Kaggle and is available at Students Performance in Exams. It comprises 1000 rows and 8 columns, each providing valuable insights into student performance.
- gender: Sex of students (Male/Female)
- race/ethnicity: Ethnicity of students (Group A, B, C, D, E)
- parental level of education: Parents' final education (Bachelor's Degree, Some College, Master's Degree, Associate's Degree, High School)
- lunch: Whether the student had lunch before the test (Standard or Free/Reduced)
- test preparation course: Completion status of the test preparation course (Complete or Not Complete)
- math score: The score obtained in the math test
- reading score: The score obtained in the reading test
- writing score: The score obtained in the writing test
Let's jump into the Python packages you need. Within the Python environment of your choice, run:
git clone https://github.com/Basavachari/studentPerformance.git
cd studentPerformance
pip install -r requirements.txt
To run the front end of the application, run the following command in the terminal:
python app.py
- Login to Azure DevOps.
- Create a resouse of Web App.
- Add the name for webapp and select runtime for Python 3.8
- Enable the github actions and configure with your github account and choose the repository.
- Review and create.
- Open the github actions in your repository, where you can see the deployment link.
The training pipeline for this project is
-
ingest
: Ingests the data from csv file in artifacts folder. -
transformation
: Transforms the data by scaling, categorical encoding and saves the compelete preprocess step in artifacts folder. -
split
: Splits the dataset into train and test splits. -
train
: Trains the model on the training split and saves the model in artifacts folder. -
evaluate
: Evaluates the model on the eval split. -
predict
: Predicts the data given by the user using the model saved in artifacts folder. -
deploy
: Deploys the model using flask and creates a web app.