Skip to content

uoft-course-eval-team/course-recommender

Repository files navigation

Recommended or Not?: Applying Supervised Machine Learning Models to Understand UofT Course Evaluations

Introduction

Course evaluations play a significant role in how students select courses and how departments assess teaching quality, yet these evaluations are often only accessible in anecdotal form. Our paper investigated how supervised machine learning models can be used to analyze and predict student perceptions of university courses based on course evaluation data and course descriptions. We evaluated different baseline models like Gaussian Discriminant Analysis, Logistic Regression, Linear Regression, Decision Tree, and a Feedforward Neural Network with an Adam Optimizer. We also constructed a Majority Voting Ensemble with a Decision Tree, a Logistic Regression model, and a Neural Network. Inspired by The Varsity’s reporting on disparities in course ratings across departments, our goal is to classify whether a course is likely to be recommended by students using classification models with a defined rating threshold [1]. Currently, many machine learning-based course recommender systems in research overlook other students’ experiences taking a given course; our proposed system differs by directly taking student course evaluation data scraped from the University of Toronto (UofT)’s database to learn how students themselves rate and consider courses, as well as course descriptions [2], [3]. The tabular format of UofT course evaluations makes it difficult to gauge whether other students recommend a course and to understand the overall evaluation of a course over multiple instances of its existence. By applying machine learning, we can not only offer a more complete picture of student sentiment but also enable practical and interpretable predictions that can inform both student decision-making and departmental planning. Moreover, we identified features with our models that influence positive course experiences and a course being recommended.

Project Architecture

Architecture of project

Package Versions

We recommend using the following versions for the packages in requirements.txt.

numpy<2
torch==2.0.1
scipy==1.10.1
pandas==1.5.3
scikit-learn==1.3.2
matplotlib==3.7.1
seaborn==0.12.2

About

Recommended or Not?: Applying Supervised Machine Learning Models to Understand UofT Course Evaluations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages