Inspiration

As a student, I often wondered how my current grades would affect my future GPA. This uncertainty creates stress, confusion, and makes academic planning difficult. Students don’t have a clear tool that shows how their performance today shapes their academic future. This inspired me to build a simple but real machine‑learning system that predicts future GPA using current and expected grades.

What I Learned

Working on this project taught me several important concepts:

How to clean and prepare real‑world data

How regression models work, especially Decision Trees

How to evaluate models using metrics like:

  • Mean Absolute Error (MAE): MAE = (1/n) × Σ |Actual – Predicted|

  • Mean Squared Error (MSE): MSE = (1/n) × Σ(Actual – Predicted)²

  • R² Score

How to turn a dataset into a working prediction tool

How machine learning can reduce uncertainty and help students make better decisions

This project helped me understand how ML models learn patterns and how small improvements in data quality can dramatically improve accuracy.

How I Built It

I started by collecting large amount of dataset containing:

  • Grade level

  • Subject scores

  • Year

  • Final GPA

I cleaned the data by removing null values, duplicates, and unnecessary columns. Then I defined:

Features (X): subject scores + grade level + year

Target (y): GPA

I split the data into training and testing sets (80/20) and trained a DecisionTreeRegressor. The model learned how different subject scores contribute to GPA. Finally, I built a prediction function where students can enter their expected grades, and the model outputs a predicted GPA.

The model performed strongly, achieving:

MAE: very low

MSE: very low

R²: close to 1.0

This means the model fits the data well and predicts GPA accurately.

Challenges we ran into

Building this project wasn’t perfect. I faced several challenges:

Understanding how to structure the dataset correctly

Figuring out which features actually matter for GPA prediction

Cleaning messy data without breaking the model

Choosing the right ML model

Making sure the predictions were realistic and not overfitted

Turning raw code into a clear, understandable presentation

Even though the problem was simple, the process taught me how real ML projects work — from data to model to evaluation.

Built With

Share this project:

Updates

Submission history