This is a web-based application built using Streamlit that allows users to predict the average score of a student based on various features. The prediction is made using a machine learning model trained on a dataset containing students' scores in math, reading, and writing. The user inputs certain features, and the model outputs the predicted average score.
The goal of this app is to provide a platform where users can input certain features about a student, and the app will predict their average score based on a pre-trained machine learning model.
- User Input: Users will provide input data such as gender, race/ethnicity, parental level of education, lunch type, and whether the student has completed a test preparation course.
- Model Prediction: Based on the user input, the app will use the pre-trained machine learning model to predict the student's average score across three subjects: math, reading, and writing.
- Data Preprocessing: The app will automatically handle any necessary data preprocessing (e.g., converting categorical values into numerical format) before feeding the input to the model.
The following technologies are used in the development of the app:
- Streamlit: A Python library used to create the interactive web app.
- Scikit-learn: A machine learning library used to train and apply the model.
- Pandas: A Python library used for data handling and preprocessing.
- Pickle: A Python module used to save and load the trained model.
- Python 3.6+: Programming language used for development.
- User Input:
Once the app is launched, the user will be presented with several options for input:
- Gender: Select either "male" or "female".
- Race/Ethnicity: Select one of the five groups: "group A", "group B", "group C", "group D", or "group E".
- Parental Level of Education: Select from the following levels:
- "high school"
- "some college"
- "associate's degree"
- "bachelor's degree"
- "master's degree"
- Lunch Type: Select either "standard" or "free/reduced".
- Test Preparation Course: Select either "none" or "completed".
- Data Processing:
The input data is then preprocessed:
- Categorical Data Encoding: The categorical features such as gender, race/ethnicity, etc., are transformed into numeric format using one-hot encoding. This is required for feeding the data into the machine learning model.
- Model Prediction:
- Machine Learning Model: The app uses a Linear Regression model trained on a dataset that contains students' scores in three subjects (math, reading, and writing).
- Prediction Output: After processing the input data, the app predicts the student's average score and displays it to the user.
Step 1: Clone the Repository
Start by cloning the project repository to your local machine:
git clone https://github.com/Raghava44u/student_perfomance.git