Inspiration

For any high school student, it is more than usual to encounter some sort of stress before exams. However, it'd probably make you feel better if you can get a general estimation of your score, as well as your classmates' score, before the exam. Thus, the primary purpose of this program is to estimate one's final exam grade, based on how they previously performed, how many hours they study per day, etc.

What it does

The general purpose of this program is to estimate 1 out of 6 academic attributes of a student (first period grade, second period grade, final grade, study time, number of failures, number of absences) based on his other 5 attributes, as well as the general trend in his class.

The program does it by reading an csv file which contains the various attributes of a group of students, and building 5 different models (degree 1 - 5) using the polynomial regression algorithm. After the user enters their desired attribute, the program will ask for the remaining 5 attributes, and return the estimated result from each of the five models, as well as their corresponding R-Square Error values for the user to reference.

The program stores the five models each time after training. It'll reuse the models if the user's next desired attribute is the same as the previous one. Or else, it'll retrain the models, dumping the previously stored one.

The example data set, student-mat.csv, is an student performance data set from Paulo Cortez, University of Minho, Guimarães, Portugal. This data approach student achievement in secondary education of two Portuguese schools, which contains 33 different attributes over 349 students. However, this program only utilizes 6 of the attributes (G1 for first period grade, G2 for second period grade, G3 for final grade, studytime, failures, absences). The example data set can be found at https://archive.ics.uci.edu/ml/datasets/Student+Performance

Challenges I ran into

It was hard at first to get familiar with the libraries. However, after watching a few tutorials, I'm astonished by how powerful these libraries are.

Accomplishments that I'm proud of

I've only started learning python AI this weekend, and this isn't too bad as my first project on it.

What I learned

Polynomials regression, many useful python libraries, as well as a ton of fun!

What's next for Student Performance Estimator

I would include more parameters to better estimate the attributes. For instance, how many hours students spend on entertainments per day, how many hours they sleep, etc.

Built With

Share this project:

Updates