City Search Tool
Our problem-solving process
After a brainstorming session with every teammate, we decided to approach the challenge by finding a more dynamic solution. One way to solve the problem was to use the data sets containing the cities and their features. We decided to make a recommender system based on reviews given by other users of the platform.
Firstly, we wanted to augment the given datasets by modifying the given indices with more information (happiness index and number of UNESCO sites nearby) and to generate a data set of users, where every user gives preferences on their ideal city. The users in the data set are then mapped to a city according to their preference and a distribution function.
Once the two datasets were generated, we employed a K-NN algorithm to find the other users with similar preferences and their corresponding cities. The cities are then mapped to other cities close by in their feature space. This results in a new user being mapped to the ideal cities for them.
What we learned
We learned how to use new tools like Streamlit, how to work under pressure and how to work in a team. The fact that we did not know each other and we had to work remotely was a great challenge, but it was nonetheless a very useful experience.
Moreover, we learned about data generation and recommender systems.
Why we approached the problem the way we did
We wanted to do a project that could be useful and could also help us learn about new things. We also wanted to work together, living the true datathon experience, despite the virtual aspect of it, hence we mainly pair-programmed. Moreover, we wanted to challenge ourselves by employing some ML technology.
Instructions
- Clone repository
- Open
city_search_tool.ipynb - Run the cells up to
Add your preferences about Purchase Power, Health Care, Pollution, QoL_H, Crime Rating and UNESCO - Insert your values
- Run the remaining cells to see the best cities for you.
- Start packing your suitcases and get ready for a new adventure (but remember to keep safe and wear face-covering!)
- (You can also use Streamlit as it makes it more user-friendly, this is also on the GitHub repository)
Built With
- jupyter-notebook
- python
Log in or sign up for Devpost to join the conversation.