Skip to content

An end-to-end Machine Learning web application that predicts student performance (Pass/Fail) based on various academic and behavioral factors. This project covers everything from data preprocessing and model training to deployment with a modern Flask-based interface.

Notifications You must be signed in to change notification settings

CodeWithParthiv/Student-Performance-Predictor

Repository files navigation

🎓 Student Performance Predictor using Machine Learning

An end-to-end Machine Learning web application that predicts student performance (Pass/Fail) based on various academic and behavioral factors. This project covers everything from data preprocessing and model training to deployment with a modern Flask-based interface.

Python Flask Machine Learning Deployment


📌 Table of Contents


📖 Overview

This classification project predicts whether a student will pass based on key attributes like:

  • Study hours per week

  • Attendance rate (%)

  • Previous academic grades

  • Participation in extracurricular activities

  • Parent education level

The project uses a Random Forest model trained on a labeled dataset and is integrated into a sleek Flask-based frontend for real-time predictions.


🎥 Demo

Watch the full walkthrough video on YouTube

Screenshots

Demo Screenshot Demo Screenshot


📁 Project Structure

Student Performence/
├── app.py                              # Flask web application
├── train_model.py                      # Model training script
├── student_performance_model_optimized.joblib  # Optimized model (0.26 MB)
├── student_performance_prediction.csv   # Dataset
├── requirements.txt                    # Dependencies
├── Student_Performance_Predictor_Workflow.docx  # Documentation
└── .git/                              # Git repository

🚀 Features

  • Predicts student performance (Pass/Fail) using Random Forest

  • Handles categorical encoding and missing value imputation

  • Clean and interactive frontend with progress tracking and form validation

  • Real-time predictions via Flask web application

  • Model and encoders saved using Joblib for efficient reuse


🧠 Tech Stack

  • Languages: Python
  • Libraries: pandas, numpy, scikit-learn, joblib, flask
  • Frontend: HTML5, CSS3, JavaScript
  • Model: Random Forest Classifier

⚙️ How to Run

  1. Clone the repository
git clone https://github.com/yourusername/student-performance-predictor.git
cd student-performance-predictor
  1. Install dependencies
pip install -r requirements.txt
  1. Train the model
python train_model.py
  1. Run the Flask app
python app.py
  1. Open in your browser
http://127.0.0.1:5000/

📈 Model Performance

Metric	Score
Accuracy	~85%
Model Size	~0.2 MB
Algorithm	Random Forest Classifier

🔧 Future Improvements

  • Deploy app on Render or Hugging Face Spaces

  • Add charts to visualize student insights

  • Expand dataset with more features (e.g., sleep, internet access)

  • Add login/auth system for multi-user access


🤝 Connect with Me

About

An end-to-end Machine Learning web application that predicts student performance (Pass/Fail) based on various academic and behavioral factors. This project covers everything from data preprocessing and model training to deployment with a modern Flask-based interface.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages