This project aims to predict student final grades based on various academic and personal attributes using machine learning models.
The objective is to build a predictive model that can estimate students' final grades using features such as past academic performance, study time, absences, and other factors. This can help educators identify students who may need extra support.
The dataset contains features such as:
- First and second period grades
- Study time, absences
- Parental education
- Past failures
- Other demographic and academic attributes
Target variable: Final Grade
- Python
- pandas – Data loading & manipulation
- numpy – Numerical computations
- matplotlib & seaborn – Data visualization
- scikit-learn – Model building and evaluation
- Handled missing values and removed irrelevant features
- Visualized correlations using heatmaps and pairplots
- Analyzed the impact of key factors (e.g., study time, absences) on final grades
- Linear Regression
- Random Forest Regressor
- Used metrics like MAE, RMSE, and R² Score
- Compared performance between models on test data
- Random Forest outperformed other models with higher accuracy on unseen data
- Identified key factors influencing academic performance
- Clone this repository
- Install dependencies from
requirements.txt
- Run the Jupyter Notebook:
jupyter notebook main.ipynb
student_grade_prediction/
├── main.ipynb
├── requirements.txt
├── README.md
├── datasets/
│ ├── student-mat.csv
│ └── student-por.csv
For questions or collaboration, feel free to connect on LinkedIn.