Inspiration
This project stood out to us at the beginning, because algorithm design is something we were all interested in working on, and it tends to have a very high skill ceiling. There's often newer ways to try and calculate things and we all had different ideas that we wanted to try and implement.
What it does
The project looks at a table of historical data and arranges it in a 5-dimensional graph (based on the factors that could affect the queue timer). It then tries to calculate the correlation coefficient for each factor, which is then used to scale its dimension (a higher correlation will cause a higher relevance of that dimension). Then using a simple distance formula, the entry that is the most similar (shortest distance) is used as a predictor for the new queue duration.
How we built it
Since this was mostly algorithm design, it was done in Python with the pandas library for math and the tkinter library for a simple GUI.
Challenges we ran into
We had a lot of trouble figuring out how to choose weights (the factors by which to scale each dimension). We ended up very closely between using correlation matrices or trying to use machine-learning to generate more important weights based on large data sets of how important they are. Due to time constraints, as well as not having the original large dataset, we decided to use the correlation matrix, but we are still interested in looking at a machine-learning approach in the future.
What's next for QueueDuration Predictor
We would like to optimize the algorithm as well as implement test cases to test accuracy and speed. Additionally, as stated before we would like to consider a machine learning approach and compare it to our current implementation.
Log in or sign up for Devpost to join the conversation.