Skip to content

End-to-end deep learning pipeline for analyzing and modeling student academic performance, featuring EDA, preprocessing, regression, classification, and evaluation using TensorFlow/Keras.

License

Notifications You must be signed in to change notification settings

ArianJr/student-performance-deep-learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

42 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Student Performance Deep Learning

๐ŸŽ“ Student Performance Prediction Using Deep Learning

Deep Learning โ€ข Education Analytics โ€ข Data Visualization
Predicting student performance with TensorFlow neural networks and data-driven insights.

Visual summary of the project: predicting student performance using TensorFlow neural networks and educational analytics.


๐Ÿ“‘ Table of Contents


๐Ÿ“˜ Overview

This project applies Deep Learning to predict student performance from real-world data.
It covers the full machine learning lifecycle โ€” data exploration, exploratory data analysis, preprocessing, modeling, and evaluation โ€” to extract actionable insights that enhance learning outcomes.

๐Ÿ” Objectives

  • Analyze and visualize student performance patterns
  • Build predictive models using Artificial Neural Networks (ANNs)
  • Evaluate results using key metrics for regression and classification

โšก Key Features

โœ… Complete data science pipeline (EDA โ†’ Modeling โ†’ Evaluation)
โœ… Built with TensorFlow/Keras for scalable deep learning
โœ… Interactive Jupyter Notebook walkthrough
โœ… Beautiful data visualizations for insights and interpretability
โœ… Reproducible and modular โ€” ideal for research or education projects


๐Ÿ“‚ Repository Structure

Path Description
.gitignore Git configuration to exclude unnecessary files
LICENSE MIT license for open-source distribution
README.md Project overview, methodology, and visualizations
requirements.txt Python dependencies for running the project
StudentPerformanceFactors.csv Dataset containing student performance features
student_performance_dl_analysis.ipynb Main notebook with EDA, preprocessing, modeling, and evaluation
assets/ Folder contains visual assets used in the README (plots, thumbnails, etc.)

๐Ÿงช Technologies Used

Category Tools / Libraries
Language Python 3.10+
Data Processing NumPy, Pandas, Scikit-learn
Visualization Matplotlib, Seaborn
Modeling TensorFlow, Keras
Environment Jupyter Notebook

๐Ÿง  Model Architectures

This project features two deep learning models built with TensorFlow/Keras: one for regression and one for classification. Both models share a clean, interpretable architecture and are optimized for educational data.

๐Ÿ”น Regression Model โ€” Predicting Exam Scores

Layer Configuration
Input Layer Receives preprocessed feature vector
Hidden Layer 1 Dense(256), ReLU activation
Dropout Layer Dropout(0.3)
Hidden Layer 2 Dense(128), ReLU activation
Hidden Layer 3 Dense(64), ReLU activation
Output Layer Dense(1)
  • Loss Function: Mean Squared Error (MSE)
  • Optimizer: Adam
  • Evaluation Metric: Mean Absolute Error (MAE)

This model predicts continuous exam scores based on behavioral and academic features.

๐Ÿ”น Classification Model โ€” Performance Tier Prediction

Layer Configuration
Input Layer Receives preprocessed feature vector
Hidden Layer 1 Dense(128), ReLU activation
Hidden Layer 2 Dense(64), ReLU activation
Output Layer Dense(3), Softmax activation
  • Loss Function: Categorical Crossentropy
  • Optimizer: Adam
  • Evaluation Metric: Accuracy

This model classifies students into three performance tiers: Low, Medium, and High


๐Ÿ“ˆ Results & Evaluation

Model performance was evaluated using key metrics and visual diagnostics from the notebook.

๐Ÿ“‰ Regression Results

  • MSE: ~4.48
  • MAE: ~0.89
  • Rยฒ Score: ~0.69

Evaluation Visuals:

  • Predicted vs. Actual grade scatter plot

Actual vs Predicted

  • Training vs Validation Loss Curve

Training vs Validation Loss

  • Residual Distribution Plot

Residuals Distribution

๐Ÿ“Š Classification Results

  • Training Accuracy: 100%
  • Validation Accuracy: ~98%

Evaluation Visuals:

  • Training vs Validation Accuracy

Training vs Validation Accuracy

The results indicate that both models generalize well, with stable learning curves and limited overfitting due to dropout and early stopping.


๐Ÿš€ Installation

  1. Clone the repository
git clone https://github.com/ArianJr/student-performance-deep-learning.git
cd student-performance-deep-learning
  1. Install dependencies
pip install -r requirements.txt

๐Ÿ–ฅ๏ธ Usage

Open the Jupyter notebook to explore the analysis and models:

jupyter notebook student_performance_dl_analysis.ipynb

Follow the notebook to:

  • ๐Ÿ“Š Explore data distributions
  • ๐Ÿง  Build and train models
  • ๐Ÿ“ˆ Evaluate predictive performance

๐Ÿ“Š Visualizations

Visual insights play a key role in understanding student performance:

  • Correlation Heatmap: Reveals relationships between features
  • Class Distribution: Shows balance of target labels
  • Model Metrics: Visualizes loss and accuracy trends

๐Ÿ”ฎ Future Improvements

  • ๐Ÿงฉ Feature Engineering: Explore polynomial or interaction features
  • ๐Ÿง  Hyperparameter Tuning: Use KerasTuner or Optuna for optimal architectures
  • ๐Ÿงพ Cross-Validation: Add k-fold validation to reduce variance
  • ๐Ÿ“Š Explainability: Incorporate SHAP or LIME for feature importance visualization
  • โš™๏ธ Deployment: Wrap models in a Flask API or Streamlit dashboard for real-time prediction
  • ๐Ÿ“ˆ Data Expansion: Include demographic and attendance trends for improved accuracy

๐Ÿ“„ License

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


๐Ÿ™ Acknowledgments

  • Dataset Source: Kaggle - Student Performance
  • Libraries: TensorFlow, Keras, Scikit-learn, Pandas, NumPy, Matplotlib, Seaborn
  • Inspired by educational data mining techniques and performance analytics research

๐Ÿ‘ค Author

Arian Jr
๐Ÿ“ง Contact Me โ€ข ๐ŸŒ GitHub Profile


Made with โค๏ธ by ArianJr

โญ If you found this project useful, please consider giving it a star! It helps others discover it and supports my work.


GitHub stars GitHub forks

Releases

No releases published

Packages

No packages published