Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smart Student Performance Prediction & Academic Analytics Platform

Project Overview

This project is an end-to-end Machine Learning solution designed to predict student academic performance based on various academic, behavioral, and demographic factors. It features a comprehensive ML pipeline, a professional Streamlit web application, Explainable AI (SHAP) integration, and automated PDF reporting capabilities.

Problem Statement

Educational institutions often struggle to identify at-risk students before final evaluations. Traditional methods of performance tracking are reactive rather than proactive.

Objectives

  • Predict final academic performance accurately.
  • Identify at-risk students early.
  • Understand the key factors affecting student performance.
  • Support data-driven interventions.
  • Provide explainable predictions to educators and administrators.

Dataset Description

The base dataset is the Student Performance Dataset (originating from Kaggle/UCI), which includes demographics and test scores. It has been augmented with realistic engineered features to better capture student behavior:

  • attendance: Percentage of classes attended.
  • assignment_score: Average score on continuous assignments.
  • internal_assessment: Internal exam performance.
  • participation_score: Classroom engagement metric.
  • study_hours: Self-reported weekly study hours.

Feature Engineering

Several advanced features are derived to improve prediction capabilities:

  • Overall Internal Score: Average of core subject scores.
  • Consistency Score: Inverse of standard deviation across subjects.
  • Engagement Score: Weighted combination of attendance and participation.
  • Academic Risk Index: Risk metric based on attendance, study hours, and assessments.
  • Performance Index: General performance metric.
  • Study Effectiveness Score: Ratio of predicted performance to study hours.
  • Risk Category: Classification into Low, Medium, or High risk.

Exploratory Data Analysis (EDA) Summary

Comprehensive Univariate, Bivariate, and Multivariate analyses are provided in the Jupyter Notebook, featuring:

  • Distribution analysis of academic scores and attendance.
  • Correlation heatmaps to identify relationships between behavioral metrics and final performance.
  • Pairplots and categorical visualizations (boxplots, violin plots).

Models Used

  1. Linear Regression
  2. Random Forest Regressor
  3. XGBoost Regressor

Evaluation Metrics

Models are evaluated based on:

  • R² Score (Primary selection criteria)
  • Root Mean Squared Error (RMSE) (Secondary criteria)
  • Mean Absolute Error (MAE)
  • Mean Squared Error (MSE)
  • Adjusted R²
  • Cross-Validation Mean and Standard Deviation

Explainable AI (SHAP)

Integration of SHAP (SHapley Additive exPlanations) provides interpretability:

  • Summary Plots & Feature Importance
  • Dependence Plots
  • Waterfall Plots for local explanations

(Note: Streamlit features, PDF generation, and deployment instructions are part of subsequent phases).

Folder Structure

Student_Performance_Prediction/
├── Dataset/                 # Raw and processed data, download scripts
├── Notebook/                # Jupyter notebook for ML pipeline
├── Scripts/                 # Training and utility scripts
├── Model/                   # Serialized models and scalers
├── Streamlit_App/           # Web application and pages
├── Documentation/           # Reports and presentation contents
├── requirements.txt         # Project dependencies
├── README.md                # Project documentation
└── .gitignore

Installation Steps

  1. Clone the repository.
  2. Create a virtual environment: python -m venv venv
  3. Activate the virtual environment:
    • Linux/Mac: source venv/bin/activate
    • Windows: venv\Scripts\activate
  4. Install dependencies: pip install -r requirements.txt

Running Instructions

  1. Download data: python Dataset/download_data.py
  2. Open Notebook: jupyter notebook Notebook/Student_Performance_Prediction.ipynb

Future Scope

  • Integration with external LMS (Learning Management Systems).
  • Real-time streaming data ingestion.
  • Extending predictions to specialized departmental subjects.

student_performance_prediction

About

A Student Drop Out Prediction: This explores performance of the student in the particular course they are doing, and find whether they will drop out of their course or not?

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages