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
- googlecollab
- pandas
- python
- scikit-learn