Skip to content

jikaelgagnon/mcgpa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

mcgpa

🏆 Best Newbie Hack at MAIS Hacks 2023

What our model predicts

Our model takes as input a list of the user's current courses and professors, alongside their GPA and completed credits and predicts their GPA by the end of the semester. The model takes historical course data and the difficulty of each professor. Furthermore, our model is specific towards McGill students by only training on McGill data, meaning our predictions follow the trends of McGill courses and McGill professors.

Our dataset

course term avg alltime_avg prof
ACCT351 F2016 3.0 2.991667 Tsang, Desmond
ACCT351 F2016 3.0 2.991667 Abrams, Amanda
ACCT351 F2016 3.0 2.991667 Marianer, Michael
ACCT351 F2016 3.0 2.991667 Murray, Michael George
ACCT351 W2017 3.0 2.991667 Abrams, Amanda

To get historical course data, we used crowdsourced data from McGill Enhanced. This dataset contained the majority of our required data, except that it was missing a professor column. We created a web scraper using Beautiful Soup to retrieve professor names for every instance. In addition, we added an all-time average column that has the all-time course average.

How the model works

image

Our model follows an Exponential Moving Average (EMA) model that uses historical class average data in order to predict the next class average in conjunction with prof difficulty. This will place a higher importance on recent data to predict the next class average.

$Average_t = \alpha*ClassAverage_{t-1} + (1-\alpha)Average_{t-1} + Prof$

Where the Prof value is the associated difficulty of the prof with a coefficient of 1, found through linear regression between the class average and professor difficulty in R.

$Prof = \sum \bar X{prof,i} -\bar X_{overall, i}$

Thus, we can use the $Average_t$ equation to find the next predicted class average and put this into the GPA equation.

$GPAt = \frac{TotalCredits_{t-1}GPA_{t-1} + \sum credits_i * Average_{t,i}}{TotalCredits_{t-1} + \sum credits_i}$

Postscript on R

image image

Our model found, through simple linear regression in R, that there is a one to one increase between the professor score and the overall course average.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors