Inspiration

Whether we like it or not, driving has become an integral part of modern life. Traffic can cause headaches, stress, and anger as well as posing a significant environmental threat. These issues are compounded by inefficient architecture that wastes time, money, and increases the amount of pollutants in the City Air. Even small changes to our infrastructure can have a profound impact; reducing commutes and emissions for a happier, greener Smart City.

What it does

FlowBot is a foundational ensemble method with a web front end. Cities can collect traffic data, aggregate it, and feed it to the existing models to get a model fine-tuned on their traffic patterns. Since the mode is pre-trained it reduces training time and requires less data to generalize!

How we built it

We trained a three base learners; XGBRegressor, CatBoostRegressor, and LightGBMRegressor. These base learners were then combined using a StackingRegressor using Ridge as its final estimator. Our front end is built using React JS and connected to our backend via a REST API.

Challenges we ran into

Since the model was trained in python and the front end was build on JavaScript, communication between the two was difficult to orchestrate. Additionally, the CatBoost model did not integrate nicely with the other models in the ensemble methods.

Accomplishments that we're proud of

Figuring out how to use Auth0 and successfully connecting our Flask API (backend) to our JS API (frontend).

What we learned

We learned more about Auth0, model training/development, combining tech stacks, and effective teambuiding.

What's next for FlowBot

FlowBot could be improved by adding additional datapoints to the dataset, increasing the ensemble model count, and expanding into other traffic related problems like accident prediction.

Share this project:

Updates