Skip to content

Latest commit

 

History

History
81 lines (55 loc) · 2.98 KB

File metadata and controls

81 lines (55 loc) · 2.98 KB

Student Performance Prediction End-to-End

This repository contains an end-to-end solution for predicting student performance using machine learning algorithms. The primary goal of this project is to develop, train, and deploy a model that can predict students' academic outcomes based on various features.

Table of Contents

Introduction

Predicting student performance is crucial for educational institutions to identify students who may need additional support and to tailor educational programs to individual needs. This project leverages data-driven methods to predict student grades based on factors such as attendance, participation, and previous academic records.

Features

  • Data preprocessing and feature engineering
  • Exploratory data analysis (EDA)
  • Model training and evaluation
  • Hyperparameter tuning
  • Model deployment using a web application

Technologies Used

  • Jupyter Notebook
  • Python
  • HTML
  • Machine Learning Libraries: scikit-learn, pandas, numpy, matplotlib, seaborn
  • Web Framework: Flask

Data

The dataset used for this project includes various features that influence student performance, such as attendance records, participation scores, previous grades, and socio-economic factors. The data is divided into raw and processed formats for better organization.

Model Training

The model training process involves several steps:

  1. Data preprocessing: Handling missing values, encoding categorical variables, and scaling features.
  2. Feature engineering: Creating new features that may help improve model performance.
  3. Model selection: Trying different machine learning algorithms such as Linear Regression, Random Forest, and Gradient Boosting.
  4. Hyperparameter tuning: Using techniques like Grid Search or Random Search to find the best hyperparameters for the chosen model.

Evaluation

The model's performance is evaluated using metrics such as Mean Absolute Error (MAE), Mean Squared Error (MSE), and R-squared score. Visualizations are also used to compare the predicted values against the actual values.

Deployment

The trained model is deployed as a web application using Flask. Users can input new student data to get predictions on their expected performance.

Installation

To install the necessary dependencies, run:

pip install -r requirements.txt

Usage

To run the web application locally, execute:

python src/app.py

Then, open your web browser and navigate to http://127.0.0.1:5000.

License

This project is licensed under the MIT License. See the LICENSE file for more information.


Feel free to customize this README to better fit your project specifics and any additional information you may want to include.