This project implements a Deep Learning regression model using TensorFlow and Keras to predict student exam scores based on various demographic and academic features.
The goal of this project is to analyze student data from the Exam Score Prediction Dataset (Kaggle) and build a predictive model that estimates the final exam score. It demonstrates a complete Machine Learning workflow, including:
- Data exploration and visualization (EDA).
- Feature Engineering (Custom metrics for efficiency and wellbeing).
- Data preprocessing (One-Hot Encoding, Feature Scaling).
- Neural Network architecture design using TensorFlow/Keras.
- Model training with early stopping and learning rate reduction.
- Model evaluation and persistence.
Exam_Score_Prediction.ipynb: The notebook containing the full pipeline, including EDA, Feature Engineering, and Model Training.
- Language: Python 3.x (3.11)
- Deep Learning: TensorFlow / Keras
- Data Manipulation: Pandas, NumPy
- Machine Learning Tools: Scikit-learn (train_test_split, StandardScaler)
- Visualization: Matplotlib, Seaborn
To improve predictive performance, custom features were created:
- Study Efficiency: A combination of study hours and class attendance.
- Sleep Wellbeing: A weighted score combining sleep hours and sleep quality.
Ensure you have Python installed. It is recommended to use a virtual environment.
Install the required dependencies:
pip install tensorflow pandas scikit-learn matplotlib seaborn joblibOpen the main notebook in VS Code or Jupyter:
jupyter notebook Exam_Score_Prediction.ipynbThe model is a Sequential Neural Network consisting of:
- Input Layer: Matches the number of features after encoding.
- Hidden Layer 1: 128 neurons with ReLU activation.
- Hidden Layer 2: 64 neurons with ReLU activation.
- Output Layer: 1 neuron (Linear activation) for regression.
Compiler Settings:
- Optimizer: Adam
- Loss Function: Mean Squared Error (MSE)
- Metrics: Mean Absolute Error (MAE)
The model's performance is evaluated using MAE, which represents the average error in score points. Training curves (Loss and MAE) are plotted in the notebook to monitor for overfitting.
This laboratory project provides a robust template for handling tabular data regression tasks using modern Deep Learning frameworks.