Food-Beer Pairing & Visualization
All our team members just love drinking beer and we wanted to build a recommender system to pair the best food with beer, as well as provide the skeleton to publish a website. I further used the data to visualize in a form of calendar.
My Role
Data Processing, Backend Development, Data VisualizationTeam
Yujin Ki: Model making, Machine Learning, Subin Kim: Frontend Development
Location
Yonsei Big Data Conference, Seoul, Korea
Time
3 weeks
Deliverables
Food-beer pairing algorithm
Recommender website
Visualization in calendar form
Workflow
Machine Learning
Based on the created data, we were able to set a function where we simply print the ingredients in an ascending order after inputing beer name.
Using the co-occurrence data, other recommended ingredients are simultaneously printed.
We then finalized the system by calculaing the PMI and omitted those are very low or is negative value. PMI(A,B) = logP(A,B) / (P(A)*P(B))
We finally are able to print the ingredients similar to that of the main ingredients (n=84) suited for each beer.
Web Deployment (Django)
Although deploying both Django and Node.js is practically impossible, we used two seaparate servers for this case and decided to unite to one of them in future projects.
Using cytoscape.js, a mindmap tool based on Node.js, we could visualize the 20 ingredients that best matched the each of the main ingredients paired with the beer, and that prints the results.
The size of the first node is proprotional to the pairing score with the berr, while the second node is proportional to each ingredient's pairing score with the main ingredient.
When the user hovers over the desired ingredient, the UI is set to emphasize its name and color coded the ingredients hierarchically.
Demonstration
Data Visualization
With the generated data, I have paired each beer to every 12 months of the year, and visualized them in a form of a calendar. For fun. This was inspired by my own project trying to visualize food flavors into a calendar.