Course: CS-4048 – Data Science (Fall 2025)
Institution: NUCES Chiniot-Faisalabad Campus
Submitted by: Wareesha
This project is a comprehensive Data Science study aimed at analyzing and predicting student performance based on their academic records. Using a dataset of student marks across various assessments (Assignments, Quizzes, Sessionals), we applied data cleaning, exploratory data analysis (EDA), and machine learning regression models to forecast exam scores.
The project culminates in an interactive Streamlit Dashboard that visualizes the model performance and key insights.
The study focuses on three primary prediction tasks:
- RQ1: How accurately can we predict Midterm I marks based on early assessments (Quizzes & Assignments)?
- RQ2: How accurately can we predict Midterm II marks using previous scores?
- RQ3: How accurately can we predict Final Exam marks using the entire semester's performance?
Based on the model evaluation (R², MAE, RMSE):
-
Midterm I (RQ1):
- Status: Very poor prediction capability (negative R²).
- Insight: Early assessments alone are not sufficient predictors for the first midterm.
-
Midterm II (RQ2):
- Status: Moderate accuracy (R² ≈ 0.60).
- Insight: Performance in Midterm I is a strong indicator of Midterm II results.
-
Final Exam (RQ3):
- Status: Excellent prediction (R² = 0.721).
- Insight: By the end of the semester, student performance patterns are highly predictable. The best model significantly outperforms the baseline (Dummy) model.
- Language: Python
- Libraries: Pandas, NumPy, Scikit-Learn, Matplotlib, Seaborn
- Dashboard: Streamlit
- Notebook: Jupyter / IPython
├── data/
│ ├── raw/ # Original dataset (marks_dataset.xlsx)
│ └── processed/ # Cleaned data for modeling
├── app.py # Streamlit Dashboard application
├── project.ipynb # Main notebook (Data Cleaning, EDA, Modeling)
├── models.ipynb # Dedicated notebook for model training & comparison
├── preprocessing.ipynb # Data preprocessing steps
├── comparison_table.csv # CSV containing model evaluation metrics
├── workflow.png # Project workflow diagram
├── requirements.txt # Python dependencies
└── README.md # Project documentation
Ensure you have Python installed. You can install the required libraries using:
pip install -r requirements.txt(Note: Create a requirements.txt if not present, including pandas, numpy, scikit-learn, streamlit, matplotlib, seaborn, openpyxl)
Open project.ipynb or models.ipynb in Jupyter Notebook or VS Code to explore the data analysis and model training process.
To view the interactive results and workflow, run the Streamlit app:
streamlit run app.pyThe project follows a standard Data Science lifecycle:
- Data Loading: Reading multiple sheets from the raw Excel dataset.
- Preprocessing: Handling missing values, standardizing column names, and merging sheets.
- EDA: Analyzing distributions and correlations.
- Feature Selection: Identifying the most relevant predictors for each RQ.
- Modeling: Training various regression models (Linear, Ridge, Lasso, Random Forest, etc.).
- Evaluation: Comparing models using R², MAE, and RMSE.
- Deployment: Visualizing results via Streamlit.
Note: This project demonstrates that while early prediction is difficult, student performance becomes highly predictable as the semester progresses, allowing for targeted interventions for at-risk students after Midterm I.